У меня есть ASP.NET GridView, который отображает список окрестностей.
Я хочу, чтобы пользователь (администратор) мог редактировать название района.
Теперь база данных довольно сложна, и поэтому я не могу просто предоставить UpdateCommand / SqlDataSource для GridView.
Я связываю данные вручную (при первой загрузке и при событии PageIndexChanging).
Связывание / распечатка выгружаемых данных работает нормально.
Однако у меня возникают проблемы при попытке ОБНОВИТЬ данные.
Пользователь нажимает кнопку «Изменить», отображается текстовое поле для названия района, я изменяю текст, нажимаю «Обновить», но событие RowUpdating не запускается.
В основном я хочу получить отредактированную строку и выполнить пользовательское обновление с помощью LINQ.
Разве это невозможно с GridView? Если это не так, каковы мои альтернативы? Повторитель с кнопками LinkButton и скрытым текстовым полем, которое может менять / заменять метки?
Это моя разметка GridView:
<asp:GridView ID="NeighborhoodsGrid"
AllowPaging="true"
PageSize="10"
AutoGenerateColumns="false"
EnableViewState="false"
OnPageIndexChanging="NeighborhoodsGridPageIndexChanging"
OnRowDataBound="NeighborhoodsGridRowDataBound"
OnRowEditing="NeighborhoodsGridRowEditing"
OnRowCancelingEdit="NeighborhoodsGridRowCancellingEdit"
OnRowUpdating="NeighborhoodsGridRowUpdating"
AutoGenerateEditButton="true"
runat="server">
И код позади:
protected void NeighborhoodsGridRowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow updatedRow = NeighborhoodsGrid.Rows[e.RowIndex]; // not firing. =(
}
У меня также есть GridView, обернутый в UpdatePanel, если это что-то меняет (не думаю, что это должно).
Есть идеи или альтернативные рекомендации?