ASP.NET AJAX: используем закладки и браузерную кнопку 'Назад' - А что насчет перелистывания?

ОГЛАВЛЕНИЕ

 

А что насчет перелистывания?

Страница BehaviorWithHistory.aspx добавляет точку истории тогда, когда пользователь сортирует сетку. Тем не менее она не добавляет точку истории при листании. Если пользователь сортирует сетку, например, по цене (Price), строка запроса обновляется и отображает информацию о состоянии.  Если перейти на вторую страницу в сетке, строка запроса не будет обновлена, и никакой записи не будет добавлено в историю браузера. Если в данный момент пользователь нажмет кнопку Back (Назад), он не будет возвращен на первую страницу, отсортированную по цене (Price). Вместо этого он будет возвращен к состоянию табличной сетки до сортировки по цене (Price). То же самое произойдет, если пользователь отсортирует сетку по цене (Price), перейдет на пятую страницу и добавит закладку в свой браузер, а после решит посетить страницу по данной закладке, то браузер загрузит сетку, отсортированную по цене, но будет показана первая страница.

Если вы хотите добавить точку истории в то время, когда сетка сортируется или ее листают, тогда вам надо будет записывать свойство PageIndex, принадлежащее GridView, в качестве дополнительной информации состояния истории в обработчике события Sorting. Вам также нужно будет создать обработчик для события PageIndexChanging GridView , который вызывается, когда пользователь переходит на новую страницу. В данном обработчике события вам понадобится добавлять точки истории, записывая свойства, относящиеся  к сортировке и листингу. Наконец, вам понадобится обновить обработчик события Navigate, чтобы установить свойство PageIndex в значении, сохраненном в состоянии истории.

Приложение к данной статье включает в себя полный рабочий пример элемента GridView, который записывает точки истории, когда его сортируют или листают. Изучите ASP.NETстраницу, названную BehaviorWithHistory2.aspx.