分页加载问题

时间:2019-02-27 10:02:00

标签: 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。此代码正确吗?我找到了这个。

I tried this sample

我需要加载第20页加载(最近5条记录)

1 个答案:

答案 0 :(得分:1)

在您的代码中,页面从零开始,因此第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
}