代码之家  ›  专栏  ›  技术社区  ›  rob waminal

Gridview ItemTemplate OnClientClick参数为DataItem值的javascript函数

  •  1
  • rob waminal  · 技术社区  · 14 年前

    我肚子里有个钮扣 <ItemTemplate> 在GridView中,我想调用 OnClientClick 将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事件中,但我不想把它放在codebhind中。似乎没有正确解析服务器标记。

    我是不是漏了什么?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Community M-A    7 年前

    看这个:

    loading gridview with hyperlink column

    我想你应该用 DataBinder.Eval(Container, "DataItem.YourProperty") .

        2
  •  1
  •   dLcreations    10 年前

    <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函数时,这将对您有所帮助。