单击asp:GridView中ItemTemplate的事件

本文关键字:ItemTemplate 事件 GridView asp 单击 | 更新日期: 2023-09-27 18:29:09

我有一个带有以下标记的Gridview:

<asp:GridView ID="gdvResxKeyValue" runat="server" Width="100%" >
  <Columns>     
   <asp:TemplateField>
    <ItemTemplate>                        
        <asp:Image ID="imgEditResxValue" CssClass="sfEdit" runat="server" ImageUrl="~/Administrator/Templates/Default/images/imgedit.png"  />                     
    </ItemTemplate>                              
  </asp:TemplateField>                                       
  </Columns>                                       
</asp:GridView> 

我需要一个图像点击事件的处理程序。有什么更简单的方法吗?

单击asp:GridView中ItemTemplate的事件

您可以使用图像按钮而不是图像。试试这个代码。

 <asp:GridView ID="gdvResxKeyValue" runat="server" Width="100%" >
  <Columns>     
   <asp:TemplateField>
    <ItemTemplate>                        
        <asp:ImageButton ID="imgEditResxValue" CssClass="sfEdit" runat="server" ImageUrl="~/Administrator/Templates/Default/images/imgedit.png" OnClick="YourEventName"  />                     
    </ItemTemplate>                              
  </asp:TemplateField>                                       
  </Columns>                                       
</asp:GridView>

您只需要在此处指定您的服务器端事件名称。

使用asp按钮并将其样式设置为display:none

<asp:Image ID="imgEditResxValue" CssClass="sfEdit" runat="server" ImageUrl="~/Administrator/Templates/Default/images/imgedit.png" onclick="ClickImage(this)"  />
.......

<asp:Button ID="hiddenButton" runat="server" OnClick="hiddenButton_Click" style="display:none"></asp:Button>
<script type="text/javascript">
function ClickImage(imageControl)
{
     document.getElementById('<%=hiddenButton.ClientID%>').click();
}
</script>

这将引发按钮的服务器端事件,您可以在那里进行工作。

试试这个:

jquery解决方案

<asp:Image ID="imgEditResxValue" CssClass="sfEdit" runat="server" ImageUrl="~/Administrator/Templates/Default/images/imgedit.png"  onclick="this.next().click()"/>                     
                                            <asp:LinkButton Text="text" runat="server" OnClick="call_method"/>