我在 ASP.NET 中使用 DataPager 和 ObjectDataSource 为 ListView 实现分页,它多年来一直运行良好,但现在问题出现了。
我们目前将 PageSize 设置为 15,ButtonCount = 5。对于一百万行,我们有超过 66k 页。问题是:DataPager 控件的宽度被限制为一个特定的数字,在第一个块 (1,2,3...) 中是可以的,但是当我们移动到最后一个块时 (66000, 660001, 66002,.. .) 分页控件溢出容器。
我们找到了一个解决方案,根据 StartRowIndex 和 DataPager 控件的 PageSize 计算页码,然后使用重新设置 ButtonCount 值
(DataPager.Fields[<NumericPagerFieldIndex>] as NumericPagerField).ButtonCount = x
然后,奇怪的事情发生了:当我们移动到最后一页(66667)时,点击66666,我们都认为它会将页码更改为66666但没有,而不是66666,而是选择了66664。
我们不知道为什么,周围有谷歌,也阅读了 DataPager 的代码,但仍然一无所获。
任何帮助将不胜感激!