Еще один вид сетки в файлах подкачки/сортировке по обновлению.Gridview внутри UpdatePanel, пейджинг/сортировка не работает ТОЛЬКО при использовании MasterPage
Gridview выглядит следующим образом:
<asp:UpdatePanel runat="server"
ID="upGdvPendingReview"
ChildrenAsTriggers="true"
UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView
ID="gdvPendingReview"
runat="server"
PageSize="10"
AllowPaging="true"
AllowSorting="true"
>
<columnCrudHere>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
Gridview связан с LinqDataSource с помощью события Selecting. Этот код отлично работает без обновления. Он также отлично работает, если я копирую страницу, которая не является страницей содержимого на главную страницу. Я прочитал много сообщений о проблемах gridview в панелях обновления с разбиением на страницы и сортировкой. Фактически, есть тот, где они комментируют в конце концов, что он заработал, но он все еще терпит неудачу при использовании MasterPage. Я попытался использовать scriptmanager на той же странице, что и gridview, и меняя различные параметры scriptmanager. Чтобы заставить его работать, я просто создаю новую страницу, копирую свой gridview, linqdatasource, scriptmanager и код за ... и бум работает. Меня заставляет задуматься, есть ли у меня что-то еще на странице. У меня есть другие обновления, где я могу обновить контент в порядке. Итак, это ... в сочетании с сообщением, в котором упоминается одна и та же проблема, я озадачен.
Я также попытался явно перечисляя событие:
<Triggers>
<asp:AsyncPostBackTrigger ControlID="gdvPendingReview" EventName="PageIndexChanging" />
</Triggers>
Вот пост, где кажется, что у кого-то такая же проблема (в самом конце): GridView PAGING inside UpdatePanel does not work for second page change, why?
** * Обновление
Поскольку я продолжаю проверять это, он становится более неприятным и увлекательным. Я создал две новые страницы, содержащие только методы gridview, linqdatasource, scriptmanager и databinding. На одной странице нет мастера ... на другой странице есть мастер (но совершенно новый и чистый, чтобы избежать любых возможных помех). Те же результаты! Пейджинг/Сортировка работает отлично асинхронно, если я не имею в виду главную страницу. :(
*** Обновление
Я должен признать, что я лжец. Тестовая страница Я настроил (с Учителем) имел некоторый код, оставшийся от предыдущего теста. На самом деле, когда я комментирую этот код, мой пейджинг GridView работает внутри UpdatePanel при использовании MasterPage. Ответчик «Ответ.Write». Когда я переключаю это, я могу создать проблему по требованию. Большой урок «Отремонтированный» здесь о тестировании и но все же есть какая-то загадка.
Интересно, что у меня нет ответа. Что-то я могу найти в своем коде для исходной страницы с проблемой. Кто-нибудь задумывается о том, почему «Response.Write» нарушит e gridview sorting/paging в панели обновления? Если это так, это может помочь определить, что происходит.
Спасибо всем!
Вы пытались установить UpdateMode на «Always»? –
Да, сэр .... работает в обоих направлениях, когда не на странице с мастером. Ничего не работает. Кроме того, «не работает», я должен уточнить, что ничего не происходит, когда я нажимаю заголовок столбца или страницу, на которую нужно перейти. – Matt