我想在我的视图中添加分页。我查看了PagedList(Nuget包),它真的很棒。我遇到的问题是,它需要从数据库中提取所有记录。正如您所看到的,如果有数百万行,它将不会非常有效。
是否有任何Nuget Paging包不需要您提取所有数据库记录? 我是否必须编写自己的自定义分页?
答案 0 :(得分:1)
快速搜索PagedList
github,我实际上发现了作者的这句话,它专门回答了你的问题:
嗨,我是PagedList库的创建者。如果你正在使用带有IQueryable的PagedList(通过实体框架,Linq2Sql,NHibernate.Linq等),那么库肯定不会加载整个列表以获得另一个页面。
如果由于某种原因,你不能使用IQueryable,那么有一个StaticPagedList类,它允许你生成你自己的IPagedList实例而不迭代整个集合:
https://github.com/troygoode/pagedlist#example-2-manual-paging
答案 1 :(得分:0)
根据我的经验,我总是创建自己的自定义分页。它总是更好(在灵活性方面)创造我自己的。有一个插件可以帮助你,如果你不想走那条路。我没有使用它,但我看过这个例子,它可能是适合你的东西。
Ajax Paging With Bootstrap In MVC 4
我建议下载他们提供的示例项目,应该非常简单。