comment lier fonction javascript avec OnClientClick événement avec Eval?
mon lien de bouton -
<asp:LinkButton runat="server" ID="lbtnEdit" Text="edit" OnClientClick="javascript:msgDisp('<%# Eval(LocationId).toString() %>')" />
et le javascript msgDisp est-
<script type="text/javascript" language="javascript">
function msgDisp(lid) {
alert(lid);
}
</script>
mais il n'est pas giiving LocationId dans la pop, mais l'ensemble de la chaîne de <%#......%> est comin dans le message contextuel. Comment puis-je passer Eval valeurs en javascript.
Est le bouton lien dans un contrôle lié aux données? Si non, vous devez appeler
lbtnEdit.DataBind()
.
OriginalL'auteur ppp | 2010-09-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez construire la totalité du contenu de
OnClientClick
comme une chaîne de caractères dans le code entre crochets et il sera de sortie comme vous vous attendez.C'est en supposant que LocationId est un nombre valide - il n'existe pas de guillemets pour envelopper votre valeur lorsqu'il rend, de sorte que la sortie de quelque chose comme
msgDisp(hello);
va briser. Je ne sais pas comment l'aborder de cette manière, donc, si vous avez à faire, que je recommande réglageOnClientClick
côté serveur lors de laItemDataBound
événement. Voici ce qu'elle aimerait où le parent est unRepeater
de contrôle.msgDisp('hello');
ensuite, vous pouvez utiliser les entités HTML comme:OnClientClick='<%# "msgDisp('" + Eval("LocationId") + "');" %>'
.OriginalL'auteur lincolnk
Si vous êtes l'obtention de votre expression de liaison de balises (<%# ... %>), rendu dans le balisage, cela signifie que votre LinkButton n'est pas initialisé dans une liaison contenant. Une liaison contenant peut être, comme @lincolnk démontré, une Répétition ou GridView élément, un Calendrier des cellules, etc. Aussi, vous n'avez pas de préfixe de votre appel de fonction avec "javascript:". La valeur de la OnClientClick propriété est rendu par le gestionnaire de l'ancre onclick événement.
OriginalL'auteur bugventure
Cherché partout sur le net. Tout le monde dit d'utiliser le Code-behind.
Voir ma solution, qui fonctionne même quand mon datavalue a une seule citation comme O'Neal.
Cela ne fonctionnera pas si votre élément de données contient doublequotes. Mais qui fonctionne pour ce que j'en avais besoin, c'était de passer le nom d'une personne.
Remarque les barres obliques inverses à l'intérieur de l'alerte d'appel.
OriginalL'auteur Edmund
Vous pouvez faire comme
OnClick='<%# "msgDisp(" + Eval("LocationId") + ");" %>'
OriginalL'auteur Minhaj
Je tiens à remercier lincolnk pour sa réponse. Je suis en train de l'aider à construire un nouveau réseau social pour googam.com. J'ai été la recherche de quelques jours pour trouver une solution pour afficher le profil d'un utilisateur, dans un datalist, dans une boîte de dialogue modale jquery popup. Réglage de la linkbutton OnClientClick dans l'événement ItemDataBound résolu le problème de transmission de l'identifiant de l'utilisateur à la fonction JQuery pour ouvrir un acsx de contrôle de l'utilisateur dans la fenêtre contextuelle.
//////////////
OriginalL'auteur user2661454