如何正确实现分页?

时间:2012-12-16 01:06:10

标签: asp.net-mvc wcf pagination sql-server-2012

我目前正在开发一个MVC4应用程序,该应用程序访问一组提供内容的wcf服务。

我有一个列出产品的页面。此页面具有称为无限滚动的分页功能,因此当您向下滚动页面时,会加载产品。

我想知道实现这种分页功能的最佳方法是什么。数据源是sql server。我看到的选项是:

  1. 在sql server 2012层上进行分页 - 只返回所需的记录集,并通过wcf将其反馈到堆栈中并进入MVC应用程序以显示
  2. 作为选项1,但也包括WCF层的缓存,以便记录集长期缓存。这意味着虽然数字记录集将存储在缓存中而不是一个大的
  3. 缓存所有数据,并对缓存的项目进行分页,从WCF服务缓存数据返回子集
  4. 注意:我使用asp.net进行缓存。

    所以我正在寻找有关此方法的最佳实践的反馈。

2 个答案:

答案 0 :(得分:0)

您的可能数据集有多大?我认为这将是缓存的关注,如果将其全部保存在内存中是可行的,那么执行选项3,我没有看到选项2的重点,就好像你长期缓存,你很可能会到达无论如何缓存一切。如果你想实现#2,我会在很短的时间内缓存(时间范围取决于网站的繁忙程度)。

答案 1 :(得分:0)

当我尝试将其用于测试目的时,我遵循了本指南:http://www.gavindraper.co.uk/2012/05/10/infinite-scroll-with-asp-net-mvc-4/

我不知道它是否是实现无限滚动的最佳方式,但它至少是一个概念证明。