缓存中如何用aspnetpager进行分页
2012-05-04 11:16
85 查看
我这段代码实现的功能是用户查看过了的数据不再次显现
需要用到缓存,这里解决的问题是缓存中如何用aspnetpager进行分页
需要用到缓存,这里解决的问题是缓存中如何用aspnetpager进行分页
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack)//首次加载,更新缓存 { //取出100条放入缓存 DataTable dt = SpaceBuilder.Common.SqlHelp.GetDateTable("select top 100 id,messagetitle,messagecontent,messagestate,messagetype,pubdate from MessageInfo where messagestate=0 order by pubdate desc"); //更新缓存 Cache.Remove("wokao"); Cache.Add("wokao", dt, null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, null); //放一个中间表用于缓存分页 DataTable dt2 = dt.Clone(); int pagesize = anp.PageSize; if (dt.Rows.Count > anp.PageSize)//大于1页 { for (int i = 0; i < pagesize; i++) { dt2.ImportRow(dt.Rows[i]); string sql = "update MessageInfo set messagestate = 1 where id='" + dt.Rows[i]["id"].ToString() + "'"; SpaceBuilder.Common.SqlHelp.ExcuteCommand(sql); } } else { dt2 = dt.Copy(); string sql = "update MessageInfo set messagestate = 1"; SpaceBuilder.Common.SqlHelp.ExcuteCommand(sql); } this.rptinfo.DataSource = dt2; this.rptinfo.DataBind(); anp.RecordCount = dt.Rows.Count; } } protected void anp_PageChanged(object sender, EventArgs e) { DataTable dt3 = (DataTable)Cache.Get("wokao"); DataTable dt4 = dt3.Clone(); int iPageSize = anp.PageSize; int iPageIndex = anp.CurrentPageIndex; if (dt3.Rows.Count > iPageSize * (iPageIndex))//如果新页够一整页 { for (int i = iPageSize * (iPageIndex - 1); i < iPageSize * iPageIndex; i++) { string sql = "update MessageInfo set messagestate = 1 where id='" + dt3.Rows[i]["id"].ToString() + "'"; SpaceBuilder.Common.SqlHelp.ExcuteCommand(sql); dt4.ImportRow(dt3.Rows[i]); } } else { for (int i = iPageSize * (iPageIndex - 1); i < dt3.Rows.Count; i++) { string sql = "update MessageInfo set messagestate = 1 where id='" + dt3.Rows[i]["id"].ToString() + "'"; SpaceBuilder.Common.SqlHelp.ExcuteCommand(sql); dt4.ImportRow(dt3.Rows[i]); } } this.rptinfo.DataSource = dt4; this.rptinfo.DataBind(); }
相关文章推荐
- 如何使用AspNetPager分页控件和ObjectDataSource控件进行分页
- 面试题:如何对查询结果进行分页显示
- 如何利用客户端缓存对网站进行优化? If-Modified-Since & If-None-Match
- 如何利用客户端缓存对网站进行优化[转载]
- 如何利用客户端缓存对网站进行优化?
- mysql分页查询中如何利用group by进行去重操作
- 使用AspNetPager进行分页,查询条件丢失问题
- 利用AspNetPager进行文章内分页(用ckeditor分页符进行分页)
- 使用Hibernate criteria进行分页查询时,如何实现一次查询取得总记录数和分页后结果集
- 如何使用HibernateTemplate进行分页功能
- 如何利用客户端缓存对网站进行优化?
- 如何利用客户端缓存对网站进行优化?
- ligerUI 如何本地缓存分页和实时去后台取分页
- 如何在WinForm中对DataGrid进行分页显示(转)
- 如何利用客户端缓存对网站进行优化?
- 如何利用客户端缓存对网站进行优化?
- 制作分页显示时用paginate()函数获取对象后如何将获取到的某一键值进行修改
- Jsp如何进行动态分页
- 利用AspNetPager进行文章内分页(用回车次数来判断分页)
- 【转】如何避免IE对动态页面进行缓存?