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获取pagesize并使用jquery ajax get发送单击的页面。我错过了什么?感谢
答案 0 :(得分:6)
我打赌,selectedPage
从代码中的1开始,这会导致错误。然后,当您在第一页时获得skip == pageSize
,并且您在最后一页上“超出范围”,但您正在跳过“真正的”第一页。
如果selectedPage
从1
开始,则将此公式更改为:
var skip = (selectedPage - 1 ) * pageSize;
此外 - 无需手动计算take
值。您可以通过pageSize
,它将始终有效。如果您的数据源不包含足够的元素,则不会发生任何错误,只会返回可用的元素。