ASP.NET AJAX: используем закладки и браузерную кнопку 'Назад'

ОГЛАВЛЕНИЕ

AJAX-приложения предоставляют более интерактивные пользовательские интерфейсы , путем замены традиционных полноценных постбэков более плавными и эффективными частичными постбэками. Данные частичные постбэки выполняются в браузере асинхронно при помощи кода JavaScript. Когда пользователь нажимает на ссылку либо отсылает форму (посредством полноценного постбэка), браузер автоматически добавляет страницу в браузерную историю. Это позволяет пользователю использовать кнопки Back (Назад) и Forward (Вперед) для того, чтобы передвигаться по данной истории. Тем не менее, частичные постбэки, исполняемые AJAX-приложениями, не заставляют браузер регистрировать что-либо в истории. Как следствие, если пользователь посещает страницу, использующую AJAX, выполняет несколько частичных постбэков, и затем нажимает кнопку Back (Назад), то он не будет возвращен на страницу, отображенную до последнего постбэка. На самом деле, он будет возвращен на страницу, которая была отображена до того, как была открыта данная страница, использующая AJAX.

Хорошей новостью является то, что, начиная с ASP.NET 3.5 SP 1, элемент управления ScriptManager в ASP.NET AJAX Framework включает в себя такую функцию, как создание точек истории на страницах, использующих AJAX. Добавление точки истории создает запись в браузерной истории для определенного состояния страницы. Более того, данное состояние страницы зашифровано в строке запроса браузера - это означает, что пользователи смогут установить закладку на определенной странице AJAX приложения.

Данная статья демонстрирует способ добавления точек истории при помощи элемента ScriptManager. В частности, она рассматривает способ записи точек истории во время того, как пользователь листает или сортирует GridView. Читайте далее, чтобы больше узнать об этом!