使用skip和take方法进行分页
本文关键字:分页 方法 take skip 使用 | 更新日期: 2023-09-27 18:19:18
var skip = selectedPage*pageSize;
var take = Math.Min(result.DataSourceCount - skip, pageSize);
List<SENTINEL_OPERATION> results = sentinelOperationManager.SearchSentinelOperations(sid).Skip(skip).Take(take).ToList();
我的最后一页总是空的。我使用PageDataSource来获取页面大小,并使用jquery ajax get发送点击页面。我错过什么了吗?由于
我敢打赌,selectedPage
在您的代码中从1开始,这会导致错误。然后你在第一页得到skip == pageSize
,你在最后一页得到"out of range",但是你跳过了"真正的"第一页。
如果selectedPage
从1
开始,则将公式改为:
var skip = (selectedPage - 1 ) * pageSize;
也-没有必要手动计算take
值。你可以通过pageSize
,它将永远工作。如果数据源没有包含足够的元素,也不会发生任何错误,只返回可用的元素。