cdo*_*ner 2 c# asp.net event-handling
我在GridView中有一个ImageButton.
<asp:GridView ID="ItemGridView" runat="server" DataKeyNames="Id"
OnRowDataBound="ItemGridView_RowDataBound" AllowPaging="True"
AllowSorting="True" EnableSortingAndPagingCallbacks="True"
AutoGenerateEditButton="False" AutoGenerateDeleteButton="false"
DataSourceID="ItemDataSource" EnableViewState="true" >
....
<asp:TemplateField ShowHeader="False" ItemStyle-Width="40px">
<ItemTemplate>
<asp:ImageButton ID="btnDelete" SkinID="btnDelete"
runat="server" CausesValidation="false"
OnClick="btnDeleteAccountItem_Click"
OnClientClick="javascript:return confirm('Are you sure?');" />
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
以及删除按钮事件的相应处理程序
protected void btnDeleteAccountItem_Click(object sender, EventArgs e) {
ImageButton btnDel = sender as ImageButton;
GridViewRow row = (GridViewRow)btnDel.NamingContainer;
....
}
Run Code Online (Sandbox Code Playgroud)
我在很多地方使用这个相同的结构,它工作正常.我现在有一个gridview,但它没有,我希望得到一些关于如何追查问题的想法.当我单击按钮时,会触发客户端事件并显示警告框,然后回发触发,我可以在Page_Load方法中点击一个断点.所以按钮事件的客户端布线似乎工作.但是,不处理该事件,并且不会调用方法btnDeleteAccountItem_Click.
这是一个复杂的页面,我无法发布所有代码.我该怎样做才能缩小潜在原因?
您的事件定义不正确ImageButton.Click:
protected void btnDeleteAccountItem_Click(object sender, ImageClickEventArgs e) {
ImageButton btnDel = sender as ImageButton;
GridViewRow row = (GridViewRow)btnDel.NamingContainer;
....
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10432 次 |
| 最近记录: |