Пейджинг ASP.NET Gridview не работает, если сетка не загружается во время Page_load.Перепробовал все методы - PullRequest
0 голосов
/ 26 октября 2010

У меня есть сетка, которую я загружаю данными по нажатию кнопки. По какой-то причине пейджинг не работал. Отображается номер подкачки, но нажатие на страницу № 2, 3 или 4 никуда вас не приведет. сетка просто исчезает при нажатии на них. сразу после этого, когда я нажимаю кнопку, чтобы сгенерировать сетку, на этот раз появилась сетка, на которой на странице 2 или 3 вместо 1

У меня есть следующее на page_indexing правильно.

    Protected Sub GV_Document_Hide_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GV_PSIDocument_Hide.PageIndexChanging
    GV_Document_Hide.PageIndex = e.NewPageIndex
End Sub

Я даже пытался добавить код databind () внутри индекса страницы, как предлагалось в других потоках, но это не имело никакого значения.

Единственный способ добиться этого - заполнить / загрузить сетку на page_load. Я должен назначить источник данных и привязку данных каждый раз, независимо от обратной передачи. Я попробовал IsNotpostback, затем подкачка снова не удалась

Почему gridview необходимо загружать на page_load каждый раз, когда подкачка должна работать правильно?

Ответы [ 2 ]

1 голос
/ 26 октября 2010

Не нужно Page_Load каждый раз; но когда вы изменяете страницу, вам необходимо повторно привязать к источнику данных, чтобы он мог загрузить свои новые записи для новой страницы. Вы можете сделать это в случае обработки страницы, если хотите.

0 голосов
/ 18 декабря 2013

Используете ли вы панели обновления на своей странице? Разбиение страниц с помощью Obout grid не работает с MS UpdatePanel. Вы должны использовать собственную панель: https://www.obout.com/ajaxpage/cp_howitworks.aspx Если это не работает, попробуйте также установить serialize = false.

...