【发布时间】:2012-08-31 15:27:15
【问题描述】:
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 model-view-controller pagination
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 model-view-controller pagination
您需要更改生成这些链接的循环,使其仅显示特定范围的页码。通常提供指向第一页和最后一页的链接,其中包含指向页面的链接 + 或 - 与当前页面相距任意数量的页面。
@{
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>
现在,您要显示什么范围以及要以何种方式显示该范围完全取决于您,但这基本上就是您要查找的内容。有很多方法可以做到这一点。
【讨论】: