【问题标题】:Gridview ItemTemplate OnClientClick javascript function with DataItem value as parameterGridview ItemTemplate OnClientClick javascript 函数,以 DataItem 值为参数
【发布时间】:2010-08-13 03:45:25
【问题描述】:

我在 GridView 的 <ItemTemplate> 中有一个按钮,我想在该按钮的 OnClientClick 上调用一个 javascript 函数,将 DataItem 值作为 javascript 函数的参数传递

<ItemTemplate>
    // Labels and Html styles
    ....
    <asp:Button ID="btnEdit" runat="server" Text="Edit" OnClientClick='javascript:CreateEditAddress(<%#Bind("Id") %>);' />
    <asp:Button ID="btnDelete" runat="server" Text="Delete" />
</ItemTemplate>

如果我不在CreateEditAddess() 中添加参数,这很好,但我需要参数。

我知道我可以将 OnClientClick 事件值放在 gridview 的 OnRowDataBound 事件中,但我不想将它放在 CodeBehind 中。服务器标签似乎解析不正确。

我错过了什么吗?

【问题讨论】:

    标签: asp.net gridview onclientclick


    【解决方案1】:

    看这个:

    loading gridview with hyperlink column

    我认为你应该使用DataBinder.Eval(Container, "DataItem.YourProperty")

    【讨论】:

      【解决方案2】:

      你也可以这样试试:

      <asp:TemplateField HeaderText="Link"> 
        <ItemTemplate> 
            <asp:HyperLink runat="server" ID="HLink" 
                Text='<%# Eval("FirstName").ToString() + " " + Eval("LastName").ToString()%>' 
                NavigateUrl='<%# "javascript:OpenPopup(" + "&#39;" + Eval("EmpId") + "&#39;);"   %> ' />
        </ItemTemplate> 
      </asp:TemplateField>
      

      这将在需要将一个或多个变量传递给 javascript 函数时为您提供帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-31
        • 1970-01-01
        相关资源
        最近更新 更多