如何显示较少数量的页面链接?

时间:2012-08-31 15:27:16

标签: asp.net-mvc asp.net-mvc-3 model-view-controller pagination

- 我正在使用MVC 3,AdventureworksLT数据库

- 有很多记录,所以页面链接的数量已经增加到30个。 enter image description here

  • 我想显示较少数量的网页链接。
  • 以下是视图的代码

    View Code

1 个答案:

答案 0 :(得分:2)

您需要更改生成这些链接的循环,以仅显示特定范围的页码。通常提供指向第一页和最后一页的链接,链接指向页面+或 - 与当前页面相距任意数量的页面。

@{
    ViewBag.PageRange = 3;
}
<div class = "pagination">
    Page:

    <a href="@Url.Action("products","home",new{page = 1})">First</a>&nbsp;

    @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>
        }
    }

    &nbsp;<a href="@Url.Action("products","home",new{page = ViewBag.TotalPages})">Last</a>
</div>

现在,您希望展示的范围以及您希望以何种方式显示该范围完全取决于您,但这基本上就是您所需要的。有很多方法可以实现这一目标。