2010-07-10 6 views
3

Je suis en train d'insérer des données dynamiques dans une propriété onclick pour un contrôle le code ressemble à ceciéchapper des guillemets doubles dans asp.net chaîne Onclick

onclick="openRadWindow('<%#Eval("ID";) %>','<%#Eval("ParentObjectID") %>');" 

Je ne peux pas l'obtenir au feu et la peine semble être les doubles guillemets, quelle est la méthode correcte pour échapper les guillemets afin que cela se déclenche.

Répondre

0

La première chose que je vois est ce point-virgule après "ID" - je pense que cela pourrait causer vos problèmes.

+0

Merci, je ne voulais pas avoir ce là, mais je ne l'avoir dans le code –

1

L'événement ne se déclenche-t-il pas ou vous recevez-vous également des erreurs javascript? En outre, je regarderais le HTML après que la page ait été rendue et m'assure que les étiquettes de serveur sont traitées correctement. Certaines utilisations les empêchent d'être traitées et resteront <% # Eval ("ID")%>.

2

Vous pouvez faire utiliser une chaîne de format, comme ceci:

onclick='<%# string.Format("openRadWindow(\"{0}, {1}\");", Eval("ID"), Eval("ParentObjectID")) %>' 
+0

Je reçois l'erreur Comma, ')', ou une continuation d'expression valide attendue. Changer l'onclick = '<% # en <% = et il charge mais n'obtient pas les valeurs de databind Merci –

+0

@Adonis - Cela fait un moment que j'ai fait quelque chose comme ceci en ligne, si vous remplacez «\» 'avec' \\ "', même résultat? –

+0

@Adonis - Avez-vous vérifié le HTML rendu pour vous assurer que les expressions de databind fonctionnent correctement? – mclark1129

1

Merci à tout ce que j'ai pu le faire fonctionner correctement en utilisant une autre méthode. dans le code derrière j'ai créé une fonction et dans la fonction que je mets le code suivant

Return String.Format("openRadWindow({0},{1});", photo.ID, photo.ParentObjectID) 

et dans le ASPX j'ai ajouté onclick="<%#MyFunction(DirectCast(Container.DataItem,Photo))%>

Questions connexes