使用PagedList进行分页

时间:2013-04-09 09:35:02

标签: asp.net-mvc-3 pagination pagedlist

这是我的存储库层:

public List<Section> GetAllSections()
{
    return context.Sections.Include("Groups").Include("Groups.Classes").ToList();
}

这是我的申请层:

public List<Section> GetAllSections()
{
    return cacheSectionRepo.GetAllSections();
}

在控制器中我有:

SectionApplication sectionApp = new SectionApplication();
public ActionResult Index()
{
    return View(sectionApp.GetAllSections());
}

现在我想让我的Index视图分页。我想在PagedList中使用。我该怎么做? 例如,我希望每个页面显示5条记录。

1 个答案:

答案 0 :(得分:1)

您可以将页码和页面大小传递到存储库层,然后使用SkipTake Linq语句过滤掉您需要的行:

public List<Section> GetAllSections(int pageSize=5, int pageNo)
{
    return cacheSectionRepo.GetAllSections().Skip(pageSize * pageNo).Take(pageSize);;
}

或者您可以在存储库层中执行该过滤。然后,每次向控制器发出请求,您都会将pageNo发送给控制器,最好是通过AJAX请求。