2016-09-14 3 views
1

J'essaye d'ajouter l'attribut onclientclick à un bouton de lien qui a été créé dans le code C# seulement qui donne l'erreur. Voici le code pour le même:Comment ajouter un attribut onclientclick à un Linkbutton à partir d'un code C#?

LinkButton imghelp = new LinkButton(); 
imghelp.ID = "btnhelp"; 
imghelp.Text = "<i class = 'fa fa-question-circle-o'></i>"; 
imghelp.onClientClick = "javascript:ShowHelp(\"" + Languagecode + "\",\"" + context + "\",\"" + subcontext + "\")"; 

L'erreur est: « System.Web.UI.WebControls.LinkButton ne contient pas de définition pour OnClientClick »

+1

Les documents montrent qu'il est [OnClientClick] (https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols. linkbutton.onclientclick (v = vs.110) .aspx), avez-vous essayé de capitaliser le 'On'? –

+0

Exactement ce que le problème était. Je ne sais pas comment j'ai raté ça. Merci beaucoup @MattClark –

+0

Pas de soucis, codage heureux. –

Répondre

0

vous devriez avoir à utiliser imghelp.Attributes.Add("onClientClick", "Your function here"); car si vous ajoutez directement un événement comme vous l'avez fait dans votre code, il y aura toujours une erreur.

+0

Merci pour la réponse @Nitin Kumar. Mais le problème principal était parce que je n'ai pas capitalisé le «O» de OnClientClick. L'ajout direct d'un événement a fonctionné pour le bouton de lien mais pas pour l'étiquette. Donc pour l'étiquette j'ai fait comme votre réponse a suggéré. –

1
imghelp.Attributes.Add("onclick", "return ShowHelp(your parameter)"); 

votre fonction javascript

function ShowHelp(your parameter) 
{ 
     // your code 
}