我正在努力将三个参数从gridview的itemtemplate中传递给javascript函数:
对于一个参数,它可以正常工作:
<asp:HyperLink ID="hypComment" runat="server" Font-Bold="True"
NavigateUrl='<%# Eval("CCN", "javascript:ShowCommentPopUp({0});") %>'>Add
</asp:HyperLink>
其中CCN是gridview中的专栏。这实际上将传递单击该行的ccn:
我想再传递两个参数:“Name”和“Status”是相应的列,作为ShowCommentPopUp函数的第2和第3个参数。我尝试了很多方法,但最终出现了所有语法错误。很多时间都投入了。
例如:
NavigateUrl='<%# Eval(["CCN", "NAME", "javascript:ShowCommentPopUp({0}, {1});")
等等
如果有人可以帮助我,我们非常感激。
感谢, 阿帕娜
答案 0 :(得分:1)
您的意思是NavigateUrl='<%# Eval(["CCN", "NAME"], "javascript:ShowCommentPopUp({0}, {1});")
吗?
答案 1 :(得分:1)
使用此代码可以解决您的问题:
<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>
答案 2 :(得分:0)
我遇到了同样的问题和很多问题让它发挥作用。
最终这对我有用:你必须将eval函数的结果值放在引号之间。并且这些引号必须是html保存,因此请更换&#39;字符进入&#39;
至少对我来说,只有我的对话框显示了三个参数。
<ItemTemplate>
<asp:Button ID="btnEdit" CssClass="btnmaatwerksmall" runat="server" Text="Wijzig"
OnClientClick='<%# String.Format("OpenChildNietInEnterprise('{0}','{1}','{2}');", Eval("CursusNaam"), Eval("VerwachteOmzetJaar"), Eval("VerwachteOmzetKomendeJaren")) %>' />
</ItemTemplate>