我有一个网格视图。标记是这样的...
<asp:GridView ID="gvwServers" runat="server" class="gvwServers"
AutoGenerateColumns="false" OnRowEditing="gvwServers_Edit"
onrowcancelingedit="gvwServers_Cancelling" onrowdeleting="gvwServers_Deleting"
onrowupdated="gvwServers_Updated" onrowupdating="gvwServers_Updating"
AutoGenerateEditButton=true AutoGenerateDeleteButton=true>
<columns>
<asp:CommandField ButtonType="Button" EditText="Edit" ShowEditButton="true" />
<asp:CommandField ButtonType="Button" EditText="Delete" ShowDeleteButton="true" />
...Bound fields and template fields etc...
我的代码隐藏有这个......
protected void gvwServers_Edit(object sender, GridViewEditEventArgs e)
{
gvwServers.EditIndex = e.NewEditIndex;
gvwServers.DataBind();
}
protected void gvwServers_Updated(object sender, GridViewUpdatedEventArgs e)
{
gvwServers.DataBind();
}
protected void gvwServers_Updating(object sender, GridViewUpdateEventArgs e)
{
gvwServers.DataBind();
}
protected void gvwServers_Deleting(object sender, GridViewDeleteEventArgs e)
{
gvwServers.DataBind();
}
protected void gvwServers_Cancelling(object sender, GridViewCancelEditEventArgs e)
{
e.Cancel = true;
gvwServers.EditIndex = -1;
gvwServers.DataBind();
}
问题是这些例程中的大多数都能正确触发,即编辑、删除、取消。除非我单击更新按钮,gvwServers_Edit()
否则会触发。为什么会这样?如何使更新按钮单击触发gvwServers_Updating()
?
更新:我的问题在这里得到解决。