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

时间:2015-09-15 09:24:00

标签: 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(),找不到这个属性。

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:5)

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

在您创建页面的视图中。默认代码如下所示

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

方法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
                     })) 

编辑:

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

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