Я пытаюсь установить GridView1_RowEditing на идентификатор gridview, но не индекс, потому что он вызывает проблемы, когда конечный пользователь выполняет поиск значения и редактирует строку. Я изменил код от этого:Не удалось загрузить viewstate в GridView1_RowEditing
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
BindGridView();
}
к этому:
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
Label ID = (Label)GridView1.Rows[e.NewEditIndex].FindControl("ID");
BindGridView();
}
Идентификатор это имя столбца в базе данных.
, но я получаю эту ошибку, когда я нажимаю на кнопку изменить во второй раз:
Не удалось загрузить ViewState. Дерево управления, в которое загружается файл вида , должно совпадать с деревом управления, которое использовалось для сохранения окна просмотра во время предыдущего запроса. Например, при добавлении управление динамически, элементы управления, добавленные во время обратной связи, должны соответствовать типу и положению элементов управления, добавленных во время начального запроса .
Попытка связать вид сетки, а затем получить доступ к его данным. Также почему вам нужно сохранить этот идентификатор. Когда запрос подан, переменная «ID» исчезнет. – neo
Ну, я видел несколько дискуссий, но я не нахожу ответа. Это просто простой Gridview с функциями редактирования, отмены, обновления и поиска для поиска gridview. Проблема заключается в индексе gridview. Например, в Gridview есть 10 строк, если вы попытаетесь сделать это gridview самостоятельно и найти значение в строке 10, оно отображает одну строку, которая является строкой десятой, которая, если она прекрасна, но затем, если вы нажмете edit, то все десять строк отображает и редактирует индекс в первую строку. –
Что вы подразумеваете под словом «Если вы попытаетесь сделать эту сетку самостоятельно»? – neo