Кнопка Обновить запускает обработчик события редактирования
У меня есть сетка. Разметка такая...
<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();
}
Дело в том, что большинство этих подпрограмм работают корректно, т. Е. Edit, Delete, Cancel. За исключением случаев, когда я нажимаю кнопку Обновить, gvwServers_Edit()
пожары. Почему это происходит? Как сделать так, чтобы кнопка "Обновить" нажала gvwServers_Updating()
?
Обновление: моя проблема решена здесь.
1 ответ
Вы всегда можете переназначить событие на функцию.
Ну, почти... события "Редактировать" могут отображаться только в функцию, которая имеет (object sender, GridViewCancelEditEventArgs e)
как параметры, функции обновления также должны иметь (object sender, GridViewUpdatedEventArgs e)
Титулы...
Вы можете использовать готовую функцию обработки событий или создать свою собственную, опять же, ключом является тип параметра 'e'.
Если вы хотите иметь общие функциональные возможности для событий Edit() и Updating(), поместите этот код в отдельную функцию, которая вызывается обработчиками при возникновении этих событий.