C# 更新按钮触发编辑事件处理程序
我有一个网格视图。标记是这样的C# 更新按钮触发编辑事件处理程序,c#,asp.net,events,gridview,asp.net-webcontrol,C#,Asp.net,Events,Gridview,Asp.net Webcontrol,我有一个网格视图。标记是这样的 <asp:GridView ID="gvwServers" runat="server" class="gvwServers" AutoGenerateColumns="false" OnRowEditing="gvwServers_Edit" onrowcancelingedit="gvwServers_Cancelling" onrowdeleting="gvwServers_Deleting" onrowupdated="gvwServers
<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...
问题是,这些例程中的大多数都能正确启动,即编辑、删除、取消。除了单击更新按钮外,gvwServers\u Edit()
激发。为什么会这样?如何使更新按钮单击firegvwServers\u updateing()
更新:我的问题已解决。您始终可以将事件重新映射到函数 几乎……编辑事件只能映射到具有
(对象发送方,GridViewCancelEditEventArgs e)
作为参数的函数,同样,更新函数必须具有(对象发送方,GridViewUpdateEventArgs e)
参数
您可以使用预先制作的事件处理函数,也可以自己制作,同样,键是“e”参数类型
如果您想为Edit()和update()事件提供公共功能,请将该代码放入单独的函数中,当这些事件触发时,处理程序将调用该函数。没有说明
onrowupdating=“gvwServers\u Update”
并定义函数gvwServers\u更新(对象发送方,GridViewUpdateEventArgs e)
将事件映射到函数?我不明白为什么单击“更新”时会触发gvwServers\u Edit
函数。
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();
}