Scott Mitchell 的ASP.NET 2.0数据教程之二十六.排序自定义分页数据

Scott Mitchell 的ASP.NET 2.0数据教程之二十六.排序自定义分页数据

导言

和默认翻页方式相比,自定义分页能提高几个数量级的效率。当我们的需要对大量数据分页的时候就需要考虑自定义分页,然而实现自定义分页相比默认分页需要做更多工作。对于排序自定义分页数据也是这样,在本教程中我们就会扩展前面的例子来实现自定义分页数据的排序。

注意:既然本教程是基于前一个的,因此我们需要把前面教程示例页面EfficientPaging.aspx的<asp:Content>元素中的代码复制到本教程SortParameter.aspx示例页面中。关于如何进行这样的复制操作请参看为删除数据添加客户端确认

Step 1: 回顾自定义分页技术

要实现自定义分页,我们需要使用一些方法根据开始行索引和最大行参数返回一个记录的子集。在前面的教程中,我们看了如何使用微软SQL SERVER 2005的ROW_NUMBER()来实现。简而言之,ROW_NUMBER()为每一个查询返回的行分配一个行号。下面这个查询演示了如何使用这个技术按照ProductName排序获取的11至20的产品数据。

SQL 1 SELECT ProductID, ProductName, ...

2 FROM

3 (SELECT ProductID, ProductName, ..., ROW_NUMBER() OVER (ORDER BY ProductName) AS RowRank 4

FROM Products) AS ProductsWithRowNumbers 5

WHERE RowRank > 10 AND RowRank <= 20

对于按照一种固定的排序规则进行分页,上述技术就能满足了(比如按照ProductName排序),但是如果我们希望获取按照不同的排序表达式排序后的记录,理想地,我们应该在OVER子句中使用参数重写上述查询,代码如下:

SQL

1 SELECT ProductID, ProductName, ...

2 FROM

3 (SELECT ProductID, ProductName, ..., ROW_NUMBER() OVER (ORDER BY

你可能喜欢

  • 自考公务员制度
  • 自考当代中国政治制度
  • 公共政策试题及答案
  • 公共政策自考重点
  • ASP.NET入门
  • ASP.NET开发大全
  • ajax教程

Scott Mitchell 的ASP.NET 2.0数据教程之二十六.排序自定义分页数据相关文档

最新文档

返回顶部