我在GridView中有一个ImageButton。ASP.NET ImageButton Onclick事件没有处理
<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>
和删除按钮事件
protected void btnDeleteAccountItem_Click(object sender, EventArgs e) {
ImageButton btnDel = sender as ImageButton;
GridViewRow row = (GridViewRow)btnDel.NamingContainer;
....
}
我在很多地方使用这个非常相同的构造相应的处理程序,它工作正常。我现在有一个GridView,但是,它没有,我希望得到一些关于如何追踪问题的想法。 当我点击按钮时,客户端事件触发,并显示警告框,然后回火,我可以击中Page_Load
方法中的一个中断点。所以按钮事件的客户端布线似乎工作。但是,该事件未处理并且方法btnDeleteAccountItem_Click未被调用。
这是一个复杂的页面,我无法发布所有代码。我能做些什么来缩小潜在的原因?
你检查的任何信息在Page_Load中,例如IsPostBack是否为true或表单集合中的EVENTTARGET值? – 2009-10-20 15:48:40
IsPostBack为true,表单集合显示为空。那是什么意思? – cdonner 2009-10-20 16:01:28
我应该补充说,GridView位于MultiView控件上,并且表单标签位于母版页中。 – cdonner 2009-10-20 16:18:01