【发布时间】:2020-02-20 19:57:49
【问题描述】:
我正在尝试通过在每个页面顶部显示 10 个数字来向网站添加分页。我写了这段代码来生成对应每一页的10个数字
@for (int i = (Math.Ceiling( page / 10 - 1) * 10 ) + 1; i <= Math.Ceiling( page / 10 - 1) * 10 + 10 ; i++)
{
@Html.ActionLink(i.ToString(), "ShowItems", page = i.ToString() })
@Html.Raw(",");
}
除了结尾之外,这一切都很好。例如,如果我有 12 页,分页将显示
1 2 3 4 5 6 7 8 9 10
对于 1-10 之间的所有页面,然后将显示
11 12 13 14 15 16 17 18 19 20
对于第 11 和 12 页。
我需要将循环更改为在最后一页停止计数器。
有什么想法吗?
谢谢!
P.S 我不想使用PagedList,因为我正在处理大量数据并且无法一次性加载。
【问题讨论】:
-
也许这是一个愚蠢的评论。但是你为什么不只是像这样循环:@for (int i = 1; i
-
PagedList 在 IQueryable 上有一个扩展方法,因此当您处理大量数据时,您不需要全部加载。另外,如果你想自己处理分页,你可以创建一个
StaticPagedList,并且仍然使用 PagedList 分页器。 -
@RonaDona 为您发布了用于 asp.net mvc 的可重用分页解决方案。
-
@cadrell 感谢您提供信息。刚刚检查过,你是对的。
标签: c# asp.net-mvc loops razor