0

这是我的存储库层:

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 条记录。

4

1 回答 1

1

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

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

或者,您可以在您的存储库层中执行该过滤。然后,对于控制器的每个请求,您都会将其发送pageNo到控制器,最好是通过 AJAX 请求。

于 2013-04-09T09:43:08.137 回答