PagedList MVC仅显示大于当前页码的页码

Dhe*_*iri 0 asp.net-mvc pagination pagedlist

我使用PagedList创建了一个mvc项目的分页,一切正常,直到有新的需求出现:

  • 第1页:1,2,3,4,5下一页
  • 第2页:上一页2,3,4,5,6下一页[ 数字在用户查看更多页面时上升 ]
  • 第3页:上一页3,4,5,6,7下一页[ 数字以用户查看更多页面的方式提升 ]

有没有办法做到这一点?我检查了PagedListRenderOptions(),找不到这个属性.

任何建议将不胜感激.

Ciu*_*caS 5

我看到没有人回答这个,即使它差不多一岁了.我今天也遇到了同样的问题.

在您创建页面的视图中.默认代码看起来像这样

 @Html.PagedListPager(Model, page => Url.Action("Index",
                     new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))
Run Code Online (Sandbox Code Playgroud)

方法PagedListPager还有一个可以放置的重载 PagedListRenderOptions

因此,如果要显示3个页面,最终代码应如下所示.

 @Html.PagedListPager(Model, page => Url.Action("Index",
                     new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }), new PagedListRenderOptions {
                         DisplayLinkToFirstPage = PagedListDisplayMode.Never,
                         DisplayLinkToLastPage = PagedListDisplayMode.Never,
                         DisplayLinkToPreviousPage = PagedListDisplayMode.Always,
                         DisplayLinkToNextPage = PagedListDisplayMode.Always,
                         MaximumPageNumbersToDisplay = 3
                     })) 
Run Code Online (Sandbox Code Playgroud)

编辑:

这是我从中得到灵感的地方:

https://github.com/troygoode/PagedList/blob/master/src/PagedList.Mvc/PagedListRenderOptions.cs