How do you implement paging in ASP.NET MVC?

和自甴很熟 提交于 2019-12-04 16:59:36

问题


Currently, I'm using a strategy found on many blog posts. Basically, the URL contains the page number (e.g. /Users/List/5 will give you the users on page 5 of your paged list of users). However, I'm not running into a situation where one page must list two separate paged lists. How do I go about doing this using ASP.NET MVC? Do I simply provide two url parameters (e.g. /Users/List?page1=1&page2=2)? Is there a better way by using partial views?


回答1:


Ignoring routes for just a minute, you'll just keep the state of the 2 different pages in the URL as querystring parameters.

mysite.com/foo?list1page=2&list2page=8

Then you build the data/pagers accordingly. The pager links will just update the url.

You can get creative with routes to create more friendly URLs, but I think querystring params are perfectly acceptable here.




回答2:


I've found ASP.NET MvcPager on the official asp.net site.




回答3:


If you use query parameters then the page links in each list have to know about each other in-order to pass both parameters.

If the two lists are independent of each other then you can update them individually using jquery & ajax. Simply place each list in their own div as a partial view.

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

Lookup ajaxSubmit from the jQuery Form plugin for an easy way to update the lists.




回答4:


PagedList.Mvc is a really easy to use plugin, and is available via Nuget too.



来源:https://stackoverflow.com/questions/291893/how-do-you-implement-paging-in-asp-net-mvc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!