Как вы реализуете пейджинг в ASP.NET MVC? - PullRequest
13 голосов
/ 15 ноября 2008

В настоящее время я использую стратегию, найденную во многих блогах. По сути, URL содержит номер страницы (например, / Users / List / 5 предоставит вам пользователей на странице 5 вашего постраничного списка пользователей). Тем не менее, я не сталкиваюсь с ситуацией, когда на одной странице должны быть перечислены два отдельных страничных списка. Как мне сделать это с помощью ASP.NET MVC? Должен ли я просто предоставить два параметра URL (например, / Users / List? Page1 = 1 & page2 = 2)? Есть ли лучший способ с использованием частичных представлений?

Ответы [ 4 ]

10 голосов
/ 15 ноября 2008

Игнорируя маршруты всего на минуту, вы просто сохраните состояние двух разных страниц в URL в качестве параметров строки запроса.

mysite.com / Foo? List1page = 2 & list2page = 8

Затем вы строите данные / пейджеры соответственно. Ссылки на пейджер просто обновят URL.

Вы можете проявить творческий подход к маршрутам, чтобы создать более удобные URL-адреса, но я думаю, что параметры строки запроса здесь вполне приемлемы.

3 голосов
/ 06 апреля 2010

Я нашел ASP.NET MvcPager на официальном сайте asp.net.

2 голосов
/ 15 ноября 2008

Если вы используете параметры запроса, то ссылки на страницы в каждом списке должны знать друг о друге, чтобы передать оба параметра.

Если два списка не зависят друг от друга, вы можете обновить их по отдельности, используя jquery & ajax. Просто поместите каждый список в отдельный div для частичного просмотра.

<div id="list1"><%= Html.RenderPartial ("ListA") %></div>
<div id="list2"><%= Html.RenderPartial ("ListB") %></div>

Lookup ajaxSubmit из плагина jQuery Form для простого способа обновления списков.

1 голос
/ 26 июля 2013

PagedList.Mvc - действительно простой в использовании плагин, который также доступен через Nuget.

...