2010-09-21 2 views
1

У меня есть ASP.NET GridView, который отображает список окрестностей.ASP.NET GridView - как выполнять пользовательские обновления?

Я хочу, чтобы пользователь (администратор) редактировал название района.

Теперь база данных довольно сложна, и я не могу просто предоставить UpdateCommand/SqlDataSource для GridView.

Я привязываю данные вручную (при первой загрузке и событии PageIndexChanging).

Binding/listing paged data работает нормально.

Однако у меня возникли проблемы с попыткой ОБНОВЛЕНИЯ данных.

Пользователь нажимает кнопку «Изменить», отображается текстовое поле для имени окрестности, я меняю текст, нажимаю «Обновить», но событие RowUpdating не запускается.

Я в основном хочу захватить отредактированную строку и выполнить собственное обновление с помощью LINQ.

Возможно ли это с помощью GridView? Если это не так, каковы мои альтернативы? Повторитель с LinkButtons и скрытое текстовое поле, которое может менять/удалять метки?

Это мой 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, если это делает никакой разницы (не думает, должно).

Любые идеи или альтернативные рекомендации?

ответ

3

Nevermind, ребята, я плохо.

У меня был EnableViewState = "false".

Я понятия не имею, почему это повлияло на увольнение какого-либо события, а также на то, как другие события даже работали.

В любом случае, я устанавливаю это значение true и событие запускается.

Я всегда пытаюсь установить ViewState на false и включить его, поскольку он мне нужен.

На этот раз уплатил цену. =)

В любом случае проблема решена.

+0

BOOM !! Взгляд в будущее. Хорошо, что есть MVC !!! –

+0

=) Черт, да, это админ-страница для приложения ASP.NET Web Forms, поэтому я «поддался» перетаскиванию ад. =) Мы переписываем сайт tho - MVC FTW. – RPM1984

Смежные вопросы