设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网络编程 >> ASP.NET教学 >> asp.net实例 >> 教程正文
创建用于ASP.NET的分页程序控件
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-1
URL 和控件的 ID。在指定的时间(以秒计算)内,数据被绑定到缓存。要使项目过期,必须使用 Cache.Insert 方法。以下较简单的代码将项目添加到缓存,但不包括任何过期策略。

Page.Cache[CacheKeyName] = data;

        

PagedDataSource 对象通过其 DataSource 属性获取要进行分页的数据。值得注意的是,PagedDataSource 类的 DataSource 属性只接受 IEnumerable 对象。DataTable 不满足此要求,这就是为什么采取 DefaultView 属性的原因。

SelectCommand 属性确定在 SQL Server 数据库上运行的查询。此字符串最好为 SELECT-FROM-WHERE 形式。不支持 ORDER BY 子句,如果指定了该子句,将被删除。这正是 AdjustSelectCommand 方法所做的。使用 SortField 属性可以指定任何排序信息。AdjustSelectCommand 方法本身将根据 SortField 的值添加一个正确的 ORDER BY 子句。这样做有什么原因吗?

当分页程序以 NonCached 模式工作时,原始的查询将被修改以确保只检索当前页面的记录。在 SQL Server 上执行的实际查询文本将采取以下形式。

SELECT * FROM 

(SELECT TOP ItemsPerPage * FROM 

(SELECT TOP ItemsPerPage*CurrentPageIndex * FROM 

(SelectCommand) AS t0 

ORDER BY SortField ASC) AS t1

ORDER BY SortField DESC) AS t2 

ORDER BY SortField

        

该查询弥补了 SQL Server 2000 中 ROWNUM 子句的缺陷,并且对记录进行重新排序,使得只有 x 项目的“第 n 个”块经过正确排序后返回。您可以指定基础查询,分页程序将它分解为多个较小的页面。只有适合某个页面的记录被返回。正如您看到的那样,除了查询命令以外,上述查询需要处理排序字段。这就是为什么另外添加了 SortField 属性。此代码的唯一缺陷是默认情况为升序排序。通过使 ASC/DESC 关键字参数化,可以使此代码真的非常完美:

private void FetchPageData()

{

   // 需要经过验证的页面索引来获取数据。

   // 还需要实际的页数来验证页面索引。

   AdjustSelectCommand(false);

   VirtualRecordCount countInfo = CalculateVirtualRecordCount();

   TotalPages = countInfo.PageCount;



   // 验证页码(确保 CurrentPageIndex 有效或为“-1”)

   ValidatePageIndex();

   if (CurrentPageIndex == -1)

      return;

上一页  [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号