这是我的存储库层:
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条记录。
答案 0 :(得分:1)
您可以将页码和页面大小传递到存储库层,然后使用Skip
和Take
Linq语句过滤掉您需要的行:
public List<Section> GetAllSections(int pageSize=5, int pageNo)
{
return cacheSectionRepo.GetAllSections().Skip(pageSize * pageNo).Take(pageSize);;
}
或者您可以在存储库层中执行该过滤。然后,每次向控制器发出请求,您都会将pageNo
发送给控制器,最好是通过AJAX请求。