【问题标题】:Pass multiple arguments through Eval to Javascript function通过 Eval 将多个参数传递给 Javascript 函数
【发布时间】:2010-11-03 19:17:54
【问题描述】:

我正在努力从 gridview 的 itemtemplate 中将三个参数传递给 javascript 函数:

对于一个参数,它工作正常:

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

CCN 是我在 gridview 中的列。这实际上将传递单击该行的 ccn:

我想再传递两个参数:“名称”和“状态”是 ShowCommentPopUp 函数的第二个和第三个参数的对应列。我尝试了很多方法,但最终出现了所有语法错误。投入了大量时间。

例如:

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

等等等等

如果有人可以帮助我,不胜感激。

谢谢, 阿帕纳

【问题讨论】:

  • 你的 Eval 调用中有一个 [ 字符...

标签: javascript asp.net data-binding gridview


【解决方案1】:

我遇到了同样的问题,并且有很多问题要让它发挥作用。

最终这对我有用:您必须将 eval 函数的结果值放在引号之间。而且这些引号一定是html保存的,所以把'字符换成'

至少对我来说,只有我的对话框显示,包含三个参数。

<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>

【讨论】:

    【解决方案2】:

    使用此代码可以解决您的问题:

    <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>
    

    【讨论】:

      【解决方案3】:

      你的意思是NavigateUrl='&lt;%# Eval(["CCN", "NAME"], "javascript:ShowCommentPopUp({0}, {1});")

      【讨论】:

        猜你喜欢
        • 2020-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-30
        相关资源
        最近更新 更多