答案 0 :(得分:2)
您需要更改生成这些链接的循环,以仅显示特定范围的页码。通常提供指向第一页和最后一页的链接,链接指向页面+或 - 与当前页面相距任意数量的页面。
@{
ViewBag.PageRange = 3;
}
<div class = "pagination">
Page:
<a href="@Url.Action("products","home",new{page = 1})">First</a>
@for (int p = 1; p <= ViewBag.TotalPages; p++)
{
if (p >= ViewBag.CurrentPage - ViewBag.PageRange && p <= ViewBag.CurrentPage + ViewBag.PageRange)
{
<a class="@(p==ViewBag.CurrentPage ? "Current" : "")"
href="@Url.Action("products","home",new{page = p})">@p</a>
}
}
<a href="@Url.Action("products","home",new{page = ViewBag.TotalPages})">Last</a>
</div>
现在,您希望展示的范围以及您希望以何种方式显示该范围完全取决于您,但这基本上就是您所需要的。有很多方法可以实现这一目标。