ASP.NET AJAX: используем закладки и браузерную кнопку 'Назад' - Листание и сортировка по товарам на веб странице, использующей AJAX

ОГЛАВЛЕНИЕ

 

Листание и сортировка по товарам на веб странице, использующей AJAX

Листание и сортировка по товарам на веб-странице, использующей AJAX До того, как мы начнем рассматривать возможность сохранения истории в ASP.NET AJAX, мы создадим и продемонстрирует стандартное поведение AJAX относительно кнопки Back (Назад) и закладок. Данный пример для закрузки  приводится в конце статьи, и включает в себя ASP.NET-страницу, названную StandardBehavior.aspx и содержащую сортируемый и листаемый GridView, который перечисляет содержимое таблицы товаров (Products) в базе данных Northwind. Элемент GridView расположен в пределах UpdatePanel , тем самым любые постбэки, вызванные GridView, обрабатываются как частичные постбэки.

<asp:ScriptManager ID="MyScriptManager" runat="server">
</asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
   <ContentTemplate>
      <asp:GridView ID="gvProducts" runat="server" AllowPaging="True"
      AllowSorting="True" AutoGenerateColumns="False" ...>
         ...
      </asp:GridView>
   </ContentTemplate>
</asp:UpdatePanel>

В дополнение к UpdatePanel и GridView страница включает в себя элемент ScriptManager. Как уже обсуждалось в первой статье данной серии ("Основы AJAX и начало работы с Microsoft's ASP.NET AJAX Framework"), элемент ScriptManager должен присутствовать на любой странице, использующей ASP.NET AJAX Framework, так как он является связью между серверной стороной и клиентской на страницах, использующих AJAX. Как мы увидим далее, элемент ScriptManager также является ключевым при добавлении точек истории и восстановлении предыдущего состояния.

Посетите страницу StandardBehavior.aspx и отсортируйте табличную сетку. При каждом нажатии на ссылку сортировки или листинга частичный постбэк обеспечивает обновление табличной сетки. Поскольку используются частичные постбэки, то браузер не хранит никакой истории о сортировке и листинге. Вследствие этого, если вы нажмете на кнопку Back, то вы не будете возвращены на предыдущее состояние сортировки или страницы. На самом деле, вы будете возвращены на страницу, которую вы посетили до того, как зайти на данную страницу StandardBehavior.aspx. Следующее изображение демонстрирует данное поведение.

Начните с посещения страницы Default.aspx...

Нажмите на ссылку "Behavior With History on Sorting". Теперь отсортируйте и пролистайте Grid несколько раз. Вот как выглядит элемент Grid после того, как я отсортировал его по цене и переместился на 4-ую страницу...

Нажмите на кнопку Back в вашем браузере. Вы были перенесены обратно на страницу Default.aspx...