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