【问题标题】:Update button fires edit event handler更新按钮触发编辑事件处理程序
【发布时间】:2011-06-18 15:47:05
【问题描述】:

我有一个网格视图。标记是这样的……

<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()

更新:我的问题已解决here

【问题讨论】:

    标签: c# asp.net events gridview asp.net-webcontrol


    【解决方案1】:

    您总是可以将事件重新映射到函数..

    几乎...“编辑”事件只能映射到具有(object sender, GridViewCancelEditEventArgs e) 作为参数的函数,同样更新函数必须具有(object sender, GridViewUpdatedEventArgs e) 参数...

    您可以使用预先制作的事件处理函数或自己制作,同样关键是 'e' 参数类型。

    如果您想为 Edit() 和 Updating() 事件提供通用功能,请将该代码放入单独的函数中,当这些事件触发时由处理程序调用。

    【讨论】:

    • 不是说onrowupdating="gvwServers_Updating" 和定义函数gvwServers_Updating(object sender, GridViewUpdateEventArgs e) 将事件映射到函数吗?我不明白为什么单击更新时会触发 gvwServers_Edit 函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    相关资源
    最近更新 更多