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