У меня есть веб-приложение (ASP.NET 2.0 C #), и на одной из страниц у меня есть Gridview
. Gridview
имеет 3 столбца (Редактировать, ID, Имя), и сортировка включена. Редактирование не работает обычным способом: он использует идентификатор и добавляет его к QueryString
, и пользователь попадает на страницу редактирования. Примерно так:
protected void Grid_RowEditing(object sender, GridViewEditEventArgs e)
{
string editID = Grid.DataKeys[e.NewEditIndex].Value.ToString();
Response.Redirect("~/Admin/Edit_Page.aspx?EditID=" +
HttpUtility.HtmlDecode(editID));
}
Когда страница загружается, сетка все равно не сортируется. Если я нажимаю изменить, он работает нормально. Но если я щелкну Редактировать ПОСЛЕ сортировки, перед передачей будет передан идентификатор строки, которая была изначально там, вместо той, которая существует в настоящее время.
Почему это происходит? Есть идеи?
Спасибо.