在asp:GridView中单击ItemTemplate的事件

时间:2013-08-26 07:05:28

标签: c# asp.net gridview

我有一个带有以下标记的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> 

我需要有一个Image click事件的处理程序。有没有更简单的方法呢?

3 个答案:

答案 0 :(得分:4)

您可以使用图像按钮代替图像。试试这段代码。

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

试试这个:

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