设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网络编程 >> ASP.NET教学 >> asp.net实例 >> 教程正文
创建用于ASP.NET的分页程序控件
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-1
er 控件支持两种检索数据的方法 - 缓存和非缓存。如果采用前者,选择命令原样执行,整个结果集将绑定到在内部进行分页的数据源对象上。PagedDataSource 对象将自动返回适合特定页面的记录。PagedDataSource 类也是在 DataGrid 默认分页机制背后运行的系统组件。

检索所有记录但只显示适合页面的几个记录,这通常不是一种明智的方法。由于 Web 应用程序的无状态特性,事实上,每次请求页面时都可能运行大量的查询。要使操作有效,采用缓存的数据检索方法必须依赖于某种缓存对象,ASP.NET 的 Cache 对象就是一个很好的候选对象。缓存技术的使用加快了应用程序的运行速度,但其提供的数据快照不能反映最新的更改。另外,它需要使用 Web 服务器上的较多内存。而且荒谬的是,如果大量的数据按会话缓存的话,甚至可能造成很大的问题。Cache 容器对于应用程序来说是全局的;如果数据按会话存储在其中,还需生成会话特有的项目名称。

Cache 对象的上面是完全支持过期策略的。换句话说,存储在缓存中的数据在一段时间后可以自动被释放。以下代码说明 SqlPager 类中用来获取数据并将其存储在缓存中的一个 private 方法。

private void FetchAllData()

{

   // 在 ASP.NET Cache 中查找数据

   DataTable data;

   data = (DataTable) Page.Cache[CacheKeyName];

   if (data == null)

   {

      // 使用 order-by 信息修改 SelectCommand

      AdjustSelectCommand(true);



      // 如果数据过期或从未被获取,则转到数据库

      SqlDataAdapter adapter = new SqlDataAdapter(SelectCommand, 

            ConnectionString);

      data = new DataTable();

      adapter.Fill(data);

      Page.Cache.Insert(CacheKeyName, data, null, 

           DateTime.Now.AddSeconds(CacheDuration), 

           System.Web.Caching.Cache.NoSlidingExpiration);

   }

      

   // 配置分页的数据源组件

   if (_dataSource == null)

      _dataSource = new PagedDataSource(); 

   _dataSource.DataSource = data.DefaultView;  

   _dataSource.AllowPaging = true;

   _dataSource.PageSize = ItemsPerPage;

   TotalPages = _dataSource.PageCount; 



   // 确保页面索引有效

   ValidatePageIndex();

   if (CurrentPageIndex == -1)

   {

      _dataSource = null;

      return;

   }



   // 选择要查看的页面

   _dataSource.CurrentPageIndex = CurrentPageIndex;

}

        

控件和请求的缓存项目名称是唯一的。它包括页面的

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