c# - 分页负载问题
问题描述
我试图用列表创建一个分页。我试过下面的代码
IList<portable.ActionReturnResult> GetPage(
IList<portable.ActionReturnResult> list, int page, int pageSize)
{
return list.Skip(page * pageSize).Take(pageSize).ToList();
}
IList<portable.ActionReturnResult> Pageload =
GetPage(appBase.Results, currentpage, pageSize).ToList();
此代码不返回正确的值。我有 100 条记录(页面大小为 5 和 20 页),如果我的页面 = 20 且页面大小 = 5,则返回 0。此代码是否正确?我找到了这个。
我需要加载我的第 20 页加载(最后 5 条记录)
解决方案
在您的代码中,页面从零开始,因此第 20 页需要 105 条记录。如果你希望你的页码从 1 开始,你需要对你的代码做一个小的改动:
IList<portable.ActionReturnResult> GetPage(IList<portable.ActionReturnResult> list,
int page, int pageSize)
{
return list.Skip((page-1) * pageSize).Take(pageSize).ToList();
//subtract 1 here
}
推荐阅读
- sql - 如何在 SQL 中计算复合运行总计
- javascript - Vue 组件未突出显示代码语法
- python - Discord.py on_guild_join 邀请命令错误
- python - Python MYSQL 如何循环选择?
- flutter - Flutter dart 调用 super 的超类方法
- python-3.x - 无效(或缺失)模板文件(路径必须是工作空间相关的或绝对的):
- java - JavaDoc - 文档更改日志
- tensorflow2.x - 如何获得关于 keras 模型神经网络输入的雅可比矩阵?
- rounding - IEEE 754 中算术运算的“默认舍入模式”的术语是什么?
- laravel - 无法安装 laravel/socialite 包