内容发布更新时间 : 2025/2/23 7:26:06星期一 下面是文章的全部内容请认真阅读。
分页和排序是显示数据时经常用到的功能。比如,在一个在线书店里搜索关于ASP.NET 的书的时候,可能结果会是成百上千,而每页只列出十条。而且结果可以根据title(书名),price(价格),page count(页数),author name(作者)等来排序。我们在分页和排序报表数据 里已经讨论过, GridView, DetailsView, 和FormView 都有内置的分页功能,仅仅只需要勾一个checkbox就可以开启。GridView 还支持内置的排序。
不幸的是,DataList 和Repeater 都没有提供内置的分页和排序功能。本章我们将学习如何在DataList 和Repeater 里添加分页和排序的支持。我们需要创建分页界面,显示正确的页的记录,并在postback过程中记下浏览的页。虽然这会比GridView, DetailsView, 和FormView里花费更多的时间和写更多的代码,但是也提供了更多的可扩展性。 注意:本章集中精力讨论分页,下章我们将学习排序。
第一步: 添加分页和排序的教程页
首先添加本章和下一章需要的页。创建一个名为PagingSortingDataListRepeater的文件夹,然后添加下面的5个页,记得全部选择Site.master。 Default.aspx Paging.aspx Sorting.aspx
SortingWithDefaultPaging.aspx SortingWithCustomPaging.aspx
1
图 1: 创建页
然后打开Default.aspx页,从UserControls文件夹里拖一个
SectionLevelTutorialListing.ascx用户控件进来。这个用户控件我们已经用了很多次了。见母板页和站点导航 。
图 2: 添加用户控件
为了将排序和分页的教程列出来,我们需要将他们添加到site map(站点地图)里。打开Web.sitemap文件,将下面的标记语言添加到“Editing and Deleting with the DataList”()的节点后面: XML
2
url=\ title=\ description=\ url=\ title=\ description=\ in the DataList and Repeater controls.\ url=\ title=\ description=\ Repeater control.\ url=\ title=\ description=\ default paging and can be sorted.\ url=\ title=\ description=\ Repeater control that uses custom paging.\ 3