2009-06-17 9 views
2

J'essaie très difficile de passer trois paramètres à une fonction javascript à partir d'un itemtemplate d'un gridview:passer plusieurs arguments par Eval à la fonction Javascript

Pour un paramètre, il fonctionne très bien:

<asp:HyperLink ID="hypComment" runat="server" Font-Bold="True" 
NavigateUrl='<%# Eval("CCN", "javascript:ShowCommentPopUp({0});") %>'>Add 
</asp:HyperLink> 

où CCN est ma colonne dans gridview. Cela va effectivement passer le ccn dans lequel la ligne est cliquée:

Je veux passer deux paramètres supplémentaires: "Nom" et "Statut" sont les colonnes correspondantes comme les 2ème et 3ème arguments pour la fonction ShowCommentPopUp. J'ai essayé de nombreuses façons, mais j'ai fini dans toutes les erreurs de syntaxe. Beaucoup de temps est investi.

par exemple:

NavigateUrl='<%# Eval(["CCN", "NAME", "javascript:ShowCommentPopUp({0}, {1});") 

etc etc

si quelqu'un peut me aider, il est très apprécié.

grâce, Aparna

+0

Il y a un caractère [dans votre appel Eval ... –

Répondre

1

Voulez-vous dire NavigateUrl='<%# Eval(["CCN", "NAME"], "javascript:ShowCommentPopUp({0}, {1});")?

1

En utilisant ce code, vous pouvez résoudre votre problème:

<asp:HyperLink ID="hypComment" runat="server" Font-Bold="True" NavigateUrl="#" OnClick="<%# String.Format("javascript:return ShowCommentPopup(""{0}"",""{1}"")",Eval("CCN"),Eval("parametername")) %>"> 
    Add 
</asp:HyperLink> 
0

J'ai eu le même problème et beaucoup de problèmes pour le faire fonctionner. Finalement, cela a fonctionné pour moi: vous devez placer les valeurs résultantes des fonctions eval entre guillemets. Et ces citations doivent être html enregistrer, donc remplacer le caractère 'dans '

Pour moi au moins, alors seulement mon dialogue, contenant les trois paramètres a montré.

<ItemTemplate> 
    <asp:Button ID="btnEdit" CssClass="btnmaatwerksmall" runat="server" Text="Wijzig" 
     OnClientClick='<%# String.Format("OpenChildNietInEnterprise(&apos;{0}&apos;,&apos;{1}&apos;,&apos;{2}&apos;);", Eval("CursusNaam"), Eval("VerwachteOmzetJaar"), Eval("VerwachteOmzetKomendeJaren")) %>' /> 
</ItemTemplate> 
+0

et j'espère que vous ne me dérange pas lire certains paramètres néerlandais –

Questions connexes