使用Repeater,SQL Server和自定义寻呼机进行高效分页

时间:2011-12-16 16:19:46

标签: asp.net sql-server repeater paging custom-paging

我刚刚将以下文章上传到codeproject:

http://www.codeproject.com/KB/webforms/efficientpagingrepeater.aspx

基本上它使用Repeater,带有ROW_NUMBER()OVER语句的SQL Server和自定义寻呼机。

我想扩展寻呼机,以便它可以在一个页面上多次使用,并允许上一个/下一个按钮。我不确定如何做到这一点 - 任何人都可以提供建议/一些代码修改吗?

2 个答案:

答案 0 :(得分:1)

CP尚未发布该文章,因此我无法对此发表评论。我可以说几乎每个DAL工具(EF,NH,AR,Massive,Dapper.Net,Simple.Data)都内置了分页。因此将分页连接到转发器应该不是问题。

如果文章指的是一个页面数据的webforms服务器控件,我会不惜一切代价避免它。数据访问不应由UI组件管理。并使用上面列出的任何一种DAL,使用代码访问数据库非常简单,而不是使用拖放控件。

要获得db分页,你需要3个输入和2个输出 输入

  1. sql query&参数
  2. 起点(页面或页面索引)
  3. 最大记录数(页面大小)
  4. 输出

    1. 当前结果页
    2. 记录总数
    3. 使用记录总数和页面大小可以计算总页数。

      var pages = total records / page size + (total records % page size > 0 ? 1 : 0);
      

      结果页面,当前页面&您可以构建UI布局的总页数

答案 1 :(得分:0)