The refresh button launches the edit event handler

I have a gridview. The markup looks like this ...

<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...

My back code has this ...

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

The fact is that most of these routines work correctly, for example, Edit, Delete, Cancel. Except when I click the "Refresh" button, it works gvwServers_Edit(). Why is this happening? How to make the "Refresh" button, click the arrow gvwServers_Updating()?

Update: My problem is resolved here .

+3
source share
1 answer

You can always regroup an event into a function.

, ... "" (object sender, GridViewCancelEditEventArgs e) , (object sender, GridViewUpdatedEventArgs e)...

, , "e".

Edit() Updating(), , , .

0

Source: https://habr.com/ru/post/1789008/


All Articles