4

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

我需要一个处理图像单击事件的处理程序。有没有更简单的方法可以做到这一点?

4

3 回答 3

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>

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

于 2013-08-26T08:38:17.473 回答
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>

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

于 2013-08-26T07:50:24.353 回答
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"/>
于 2013-08-26T07:08:51.917 回答