Как реализовать подкачку в ASP.NET MVC?
-
08-07-2019 - |
Вопрос
В настоящее время я использую стратегию, описанную во многих сообщениях в блогах.По сути, URL-адрес содержит номер страницы (например,/Users/List/5 предоставит вам пользователей на странице 5 вашего постраничного списка пользователей).Однако я не сталкиваюсь с ситуацией, когда на одной странице должны быть указаны два отдельных постраничных списка.Как мне это сделать с помощью ASP.NET MVC?Должен ли я просто предоставить два параметра URL-адреса (например,/Пользователи/Список?page1=1&page2=2)?Есть ли лучший способ использовать частичные представления?
Решение
Игнорируя маршруты всего на минуту, вы просто сохраните состояние двух разных страниц в URL-адресе в качестве параметров строки запроса.
mysite.com/foo?list1page=2&list2page=8
Затем вы соответствующим образом создаете данные/пейджеры.Ссылки на пейджеры просто обновят URL-адрес.
Вы можете проявить творческий подход к маршрутам для создания более дружественных URL-адресов, но я думаю, что параметры строки запроса здесь вполне приемлемы.
Другие советы
Я обнаружил ASP.NET MvcPager на официальном сайте asp.net.
Если вы используете параметры запроса, то ссылки на страницы в каждом списке должны знать друг о друге, чтобы передать оба параметра.
Если два списка не зависят друг от друга, вы можете обновить их по отдельности, используя jquery & amp; Аякс. Просто поместите каждый список в отдельный div как частичное представление.
<div id="list1"><%= Html.RenderPartial ("ListA") %></div>
<div id="list2"><%= Html.RenderPartial ("ListB") %></div>
Поиск ajaxSubmit из плагина jQuery Form для простого способа обновления списков.
PagedList.Mvc - это действительно простой в использовании плагин, доступный через < code> Nuget тоже.