设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网络编程 >> ASP.NET教学 >> asp.net实例 >> 教程正文
创建用于ASP.NET的分页程序控件
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-1

摘要:解决向任何 ASP.NET 控件添加分页功能的问题。还为开发复合 ASP.NET 控件提供了很多有用的提示和技巧。

下载本文的源代码(英文)。(请注意,在示例文件中,程序员的注释使用的是英文,本文中将其译为中文是为了便于读者理解。)

从程序员的角度来看,Microsoft® SQL Server™ 查询的最大缺陷之一就是返回的行数通常比应用程序的用户界面实际可以容纳的行数要多得多。这种尴尬情形经常将开发人员陷于困境。开发人员是应该创建一个非常长的页面,让用户花时间去滚动浏览,还是应该通过设置一个手动分页机制来更好地解决这个问题?

哪种解决方案更好,在很大程度上取决于要检索的数据的特性。由多个项目(如搜索结果)组成的较长列表,最好通过各页大小相等、每页相对较短的多个页面显示。由单个项目(如文章的文本)组成的较长列表,如果整个插入在一个页面中,使用起来会更方便。最后得出的分析结果是,应该根据应用程序的总体用途来做决定。那么,Microsoft® ASP.NET 是如何解决数据分页问题的呢?

ASP.NET 提供了功能强大的数据绑定控件,以便将查询结果格式化为 HTML 标记。但是,这些数据绑定控件中只有一种控件(即 DataGrid 控件)本来就支持分页。其他控件(如 DataListRepeaterCheckBoxList)则不支持分页。这些控件及其他列表控件不支持分页,不是因为它们在结构上不支持分页,而是因为它们与 DataGrid 不同,不包含任何处理分页的特定代码。但是,处理分页的代码是相当样板化的,可以添加到所有这些控件中。

Scott Mitchell 在最近的一篇题目为“Creating a Pageable, Sortable DataGrid”(英文)的文章中,介绍了 DataGrid 分页。该文还引用了 Web 上的其他有用信息,为您提供了有关网格分页基础知识和其他信息。如果想查看如何使 DataList 控件可以进行分页的示例,可以查看此文章(英文)。该文演示了如何创建一个自定义的 DataList 控件,该控件具有当前索引和页面大小属性,并可以启动页面更改事件。

同样的代码也可以用于满足其他列表控件(如 ListBoxCheckBoxList)的分页需要。不过,向各个控件添加分页功能实际上并不是一种非常好的做法,因为,如上所述,分页代码是相当样板化的。因此,对于聪明的程序员来说,有什么方法比使用一种新的通用分页程序控件来实现所有这些控件的分页功能更好的呢?

本文中将建立一个分页程序控件,它将使合作者列表控件能够对 SQL Server 的查询结果进行分页。该控件名为 SqlPager,它支持两种类型的合作者控件 - 列表控件和基础数据列表控件。

SqlPager 控件的显著特点

SqlPager 控件是一个 ASP.NET 复合控件,包含一个单行表格。该行又包含两个单元格 - 导航条和页面描述符。该控件的用户界面呈条形,理想情况下,其宽度与合作者控件的宽度相同。导航条部分提供了可单击的元素,以便在页面之间移动;页面描述符部分为用户提供了有关当前显示的页面的一些反馈信息。

图 1:Visual Studio .NET 网页设计器中显示的 SqlPager 控件

DataGrid 控件的嵌入式分页程序一样,SqlPager 控件具有两种导

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
asp.net实例热门文章
普通教程 用Asp.Net创建基于Ajax的聊天室
普通教程 用ASP.NET 2.0设计网络在线投票
普通教程 设计ASP.NET新闻管理系统
普通教程 asp.net 上传大文件控件
普通教程 ASP.NET中实时图表的实现
普通教程 用ASP.NET结合XML制作广告管理
普通教程 自己写的一个图形验证码页面(A
普通教程 做完一个小网站的一点经验总结
普通教程 ASP.NET结合存储过程写的通用搜
普通教程 支付宝接口(刚完成,应该是目
普通教程 一个最简单的会员登陆代码
普通教程 C#版的网站新闻发布系统
普通教程 如何实现站点的RSS输出
普通教程 做完一个小网站的一点经验总结
普通教程 利用ASP.NET构建网上考试系统
普通教程 做完一个小网站的一点经验总结
普通教程 ASP.NET结合COM组件发送Email
普通教程 DotNet语音技术实现
普通教程 用ASP.NET实现一个简单的计算器
普通教程 用ASP.Net写一个发送ICQ信息的

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号