Meilleur auteur de réponses
custom action & webcontrol

Question
-
bonjour
j'ai un custom action affichant un lien vers une page url dans ActionsMenu d'une liste.
je voudrai savoir si a la place dutiliser ce lien :
MenuItemTemplate menu = new MenuItemTemplate();
menu.Text = "Passeport Formation";
menu.ClientOnClickNavigateUrl = "Url destination";si on peut utiliser un webcontrol style linkbutton qui permettra dexecuter du code en cliquant dessus:
LinkButton btRepPassFormation = new LinkButton();
btRepPassFormation.Text = "Passeport Formation";
btRepPassFormation.Click +=new EventHandler(btRepPassFormation_Click);
Controls.Add(btRepPassFormation);
base.CreateChildControls();
car apres avoir fais un test le control n'apparait pasmercu
Marc
Réponses
-
En fait asp.net passe deja par du javascript le __doPostBack est la fonction utiliser par asp.net. Normalement c'est transparent pour le développeur mais dans certains cas il est necessaire de l'appeler soit meme.
Regarde le code html genere par une page asp.net et tu verras le code javascript :)
http://www.xefteri.com/articles/show.cfm?id=18
Xavier VANNESTE http://www.xvanneste.com http://media.xvanneste.com- Marqué comme réponse Zombie13100_ jeudi 17 juin 2010 07:57
Toutes les réponses
-
Bonjour,
Oui on peut le faire mais il ne faut pas oublier de mettre le control comme safe dans le web.config.
Example avec une web part:
http://msdn.microsoft.com/en-us/library/ms581321(office.12).aspx
:)
Xavier VANNESTE http://www.xvanneste.com http://media.xvanneste.com -
Bonjour, vous pouvez utilisez la définition d'un Custom Action pour EditControlBlock tel que :
Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="C670889F-58D7-4beb-9A09-E8133E3A5917"
RegistrationType="List"
RegistrationId="101"
Location="EditControlBlock"
Sequence="2000"
Title="Passeport Formation"
Description="Ton description"
ControlAssembly="PassFormation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=694251f1521298c0"
ControlClass="PassFormation.CustomActionCreateRep">
<UrlAction Url="votre URL"/>
</CustomAction>
</Elements>
et tu ajoute ton traitement dans la classe, mais n'oublie pas d'ajouter ton control dans la methode CreateChildControls().
j'espère que ça vous aide.
-
cela marche avec :
protected override void CreateChildControls()
{
MenuItemTemplate menu = new MenuItemTemplate();
menu.Text = "Passeport Formation";
menu.Description = "création de dossier formation reservé aux formateurs";
menu.ClientOnClickNavigateUrl = " votre Url destination";
Controls.Add(menu);
base.CreateChildControls();
}
cela marche pas avec le linkbutton :
protected override void CreateChildControls()
{
LinkButton btRepPassFormation = new LinkButton();
btRepPassFormation.Text = "Passeport Formation";
btRepPassFormation.Click +=new EventHandler(btRepPassFormation_Click);
Controls.Add(btRepPassFormation);
base.CreateChildControls();
}
ma feature:<CustomAction
Id="0FF2B1CE-B3DB-4265-99E3-342B0F90A8D1"
Location="EditControlBlock"
Title="Passeport Formation"
Description="création de dossier formation reservé aux formateurs"
ControlAssembly="PassFormation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=694251f1521298c0"
ControlClass="PassFormation.CustomActionCreateRep" >
</CustomAction>j'en perds mon latin
Marc -
Bonjour,
je pense que ce post repond a votre question:
Xavier VANNESTE http://www.xvanneste.com http://media.xvanneste.com -
Bonjour,
Vous ne pouvez pas, ajouter un Control autre que MenuItemTemplate, sinon il ne sera pas visible.
donc vous pouvez ajouter vos actions de l'évènement "btRepPassFormation_Click" dans l'evenement onLoad(EventArgs args) du WebControl.
-----------------------
Ayman Nemri
-
d'accord pour utiliser MenuItemTemplate mais je vois pas comment faire.
je voudrai executer du code quand l'utilisateur clik sur ma custom action
MenuItemTemplate me propose uniquement de me rediriger vers une URL
que dois je faire pour lui dire d'executer du code quand un utilisateur clique sur ma custom action se trouvant dans
MenuItemTemplate ou ActionsMenu.
merci
Marc -
Dans le post que j'avais mis y avait un exemple en bas:
http://johanolivier.blogspot.com/2010/01/sharepoint-custom-action-execute-code.html
:)
Xavier VANNESTE http://www.xvanneste.com http://media.xvanneste.com -
-
En fait asp.net passe deja par du javascript le __doPostBack est la fonction utiliser par asp.net. Normalement c'est transparent pour le développeur mais dans certains cas il est necessaire de l'appeler soit meme.
Regarde le code html genere par une page asp.net et tu verras le code javascript :)
http://www.xefteri.com/articles/show.cfm?id=18
Xavier VANNESTE http://www.xvanneste.com http://media.xvanneste.com- Marqué comme réponse Zombie13100_ jeudi 17 juin 2010 07:57
-