ASP.NET 3.5.1 GridView в панели обновления запрашивает выбор строки? - PullRequest
1 голос
/ 19 марта 2009

У меня есть GridView, который связан с ObjectDataSource, и я обрабатываю полный выбор строки, используя стандартное решение, предусматривающее повсеместное размещение этой строки в OnRowDataBound ():

e.Row.Attributes["onclick"] = this.Page.ClientScript.GetPostBackEventReference(this, "Select$" + e.Row.RowIndex);

Все это работает плавно, за исключением того, что я заметил, что мой ObjectDataSource подвергается ударам каждый раз, когда изменяется выбор строки. Я не делаю BindData () нигде в коде выбора строки позади, и поскольку данные не изменяются в результате выбора, я действительно не понимаю, почему сетка должна перепривязываться. Я позволяю gridview обрабатывать страницы и сортировку, но опять же, выбор не меняет содержимое, поэтому я не думаю, что это должно повлиять на это.

Я попытался включить состояние просмотра для сетки (очень маленький объем данных), и это не имело никакого эффекта. Я установил UpdatePanel на условные обновления, а потомки - как триггеры = false, но это привело к тому, что данные по-прежнему запрашивались, но обновление на экране не происходило (LOL!).

Любой гуру GridView хочет попробовать?

1 Ответ

1 голос
/ 19 марта 2009

Вам не хватает следующего в вашей Page_Load ():

If (!IsPostBack)
{

}

Это то, что разработчики часто упускают! Следите за своими событиями, и вы, скорее всего, увидите, что где-то происходит событие OnPostBack, и вы вызываете свой код БД.

...