使用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发送点击页面。我错过什么了吗?由于

使用skip和take方法进行分页

我敢打赌,selectedPage在您的代码中从1开始,这会导致错误。然后你在第一页得到skip == pageSize,你在最后一页得到"out of range",但是你跳过了"真正的"第一页。

如果selectedPage1开始,则将公式改为:

var skip = (selectedPage - 1 ) * pageSize;

也-没有必要手动计算take值。你可以通过pageSize,它将永远工作。如果数据源没有包含足够的元素,也不会发生任何错误,只返回可用的元素。