哪种解决方案更好,在很大程度上取决于要检索的数据的特性。由多个项目(如搜索结果)组成的较长列表,最好通过各页大小相等、每页相对较短的多个页面显示。由单个项目(如文章的文本)组成的较长列表,如果整个插入在一个页面中,使用起来会更方便。最后得出的分析结果是,应该根据应用程序的总体用途来做决定。那么,Microsoft
ASP.NET 是如何解决数据分页问题的呢?
ASP.NET 提供了功能强大的数据绑定控件,以便将查询结果格式化为 HTML
标记。但是,这些数据绑定控件中只有一种控件(即 DataGrid 控件)本来就支持分页。其他控件(如 DataList、Repeater 或
CheckBoxList)则不支持分页。这些控件及其他列表控件不支持分页,不是因为它们在结构上不支持分页,而是因为它们与 DataGrid
不同,不包含任何处理分页的特定代码。但是,处理分页的代码是相当样板化的,可以添加到所有这些控件中。
Scott Mitchell
在最近的一篇题目为“Creating a Pageable, Sortable DataGrid”的文章中,介绍了DataGrid分页。该文还引用了Web
上的其他有用信息,为您提供了有关网格分页基础知识和其他信息。如果想查看如何使 DataList
控件可以进行分页的示例,可以查看此文章(英文)。该文演示了如何创建一个自定义的 DataList
控件,该控件具有当前索引和页面大小属性,并可以启动页面更改事件。