【发布时间】:2018-08-10 20:27:22
【问题描述】:
我正在尝试获取分页按钮的上限和下限。
我希望总是有 9 个按钮。因此,最初当前页面索引为 1 时,它将是:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
所以我的下限是 1,我的上限是 9。
当当前页面索引达到 8 时,我希望分页看起来像这样:
| 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
说出 15 和当前页面索引现在为 14 的总页面,分页看起来像:
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
我似乎无法做到恰到好处。到目前为止,我使用 LINQ 的尝试是(这与我想要它做的事情相去甚远):
LowerCount = PageIndex;
HigherCount = (int)PageIndex + 5 < TotalPages ? PageIndex + 5 : TotalPages;
【问题讨论】:
-
您能否提供更多逻辑,因为您可能会使用
TakeWhile或SkipWhile方法。还有Math.Min和Math.Max方法。 -
你还想要什么?我用 LINQ 对此进行了多次尝试,但我无法弄清楚。
-
这是一个网站吗?我有一个谷歌式分页的工作模型,仿照此:jasonwatmore.com/post/2015/10/30/…。它是 10 个按钮,而不是 9 个。我更喜欢将它放在自己的类中,以便对其进行单元测试。如果你有兴趣,我可以把它贴在 GitHub 上。
标签: c# linq pagination