0

我目前有显示总页数的分页功能,但我想知道如何让页面链接显示类似于 Google 搜索结果?本质上一次只显示 10 个总链接,如果当前页面大于 7,则显示的第一个链接将为 currentPageIndex - 5。

这是我拥有的当前 Razor/html,它显示的链接数等于总页数:

@for (int i = 0; i < Model.PageCount; i++)
{
    if (Model.CurrentPageIndex == i)
    {
    <li id="page@(i)" class="disabled"><a href="#">@(i + 1)</a></li>
    }
    else
    {
    <li id="page@(i)"><a href="/Search/@(i.ToString() + "?q=" + Model.SearchTerm)">@(i + 1)</a></li>
    }
}
4

1 回答 1

1

这似乎更像是一个逻辑问题,而不是一个剃刀问题。

@{
    int pagesDisplayed = 10;
    int firstPage = Model.CurrentPageIndex - pagesDisplayed / 2;
    if(firstPage < 0){
        firstPage = 0;
    }
}
@for (int i=firstPage; i <= (firstPage + pagesDisplayed); i++){
    if (Model.CurrentPageIndex == i)
    {
    <li id="page@(i)" class="disabled"><a href="#">@(i + 1)</a></li>
    }
    else
    {
    <li id="page@(i)"><a href="/Search/@(i.ToString() + "?q=" + Model.SearchTerm)">@(i + 1)</a></li>
    }
}
于 2012-04-04T21:31:33.293 回答