我有一个GridView看起来像这样:
<asp:GridView
ID="GridView1"
AllowPaging="true"
OnRowCommand="RowCommand"
OnPageIndexChanging="gridView_PageIndexChanging"
Runat="server">
<Columns>
...
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" ButtonType="Button" CommandName="ItemExport" CommandArgument='<%# Eval("EXPORT") %>'
Text="Export" runat="server" />
</ItemTemplate>
</asp:TemplateField>
...
</Columns>
</asp:GridView>
这是
RowCommand
:protected void RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ItemExport")
{
// etc.
}
}
单击该按钮根本不会触发
RowCommand
事件。但是,当我单击GridView的寻呼机中的页面索引时,会触发RowCommand
。 最佳答案
您必须而不是将您的网格绑定(bind)到Page_Load中的回发,仅当发生某些更改导致该网格重新加载数据(例如,排序,分页)时,并且仅在适当的事件处理程序中。
另一个可能的原因:您是否在某处禁用了ViewState?