AspNetPager 分页显示

在视频播放系统中视频介绍页有一个对视频评论的页面,在这个页面访问网站的用户可以添加评论和查看评

论,添加评论是没问题的,但是查看评论稍微有点难度,在牛腩视频中的分页是假分页,他是把所有的评论都加载到

页面中,这样就给页面带来了很大的压力,并且查询上也是很大的工作量,所以我们就考虑使用真分页。


真分页是把所需要的页面的评论显示出来,而不是加载所有的评论,这样我们的页面压力和美观上都有了很大的

改善用户可以任意选择自己需要看的那一页,并且数据查询方面也是非常的简单。

真分页显示需要的控件是AspNetPager,这个控件是一个山西人写的,非常的好用。

添加控件将aspNetPager添加到工具栏,然后添加到页面。添加到页面之后需要设置AspNetPager的属性,当然默认

下的也可以正常显示,只是那是最简单的,如果你想要更多的效果,可以设置属性,如:上一页、下一页、首页、显

示搜索框………………,这样就会让你的页面丰富很多,也很方便,如果数据量大的话,可以加入搜索框。

然后就是页面的代码:
1.页面加载时需要载入评论,默认显示是第一页,每页的显示条数自己定,一般是10到20条,淡然首先要给aspNetPage.RecordCount=dt.rows.count(评论总数)

2.之后就是加载数据,

/// ///在分页中加载数据 /// /// /// /// protected void LoadData(int CourseId, int pageSize, int PageNum) { DataTable dt = new DataTable(); VideoCommentManager objVideoCommentManager = new VideoCommentManager(); aspPagerComment.PageSize = 10; //设置每页显示数目 aspPagerComment.RecordCount = objVideoCommentManager.GetCount( int.Parse(HFCourseId.Value)); //获得评论总数 if (aspPagerComment.RecordCount < 10) { aspPagerComment.Visible = false; } else { aspPagerComment.Visible = true; } dt = objVideoCommentManager.GetCommentsByVideoCourseID(int.Parse(HFCourseId.Value), pageSize, PageNum); RepeaterComment.DataSource = dt; //将数据绑定repeater控件 RepeaterComment.DataBind(); }
3.选择需要的页面时
     /// 
    /// 评论换页
    /// 
    /// 
    /// 
    protected void aspPagerComment_PageChanged(object sender, EventArgs e)
    {
        LoadData(int.Parse(HFCourseId.Value), aspPagerComment.PageSize, aspPagerComment.CurrentPageIndex);
    }
 
  
数据库的sql语句是根据页码和每页显示数,来查询特定页的数据
sql="with temptb as(select ROW_NUMBER() over(order by conmmentTIme desc)as rowNum, * from VideoComment where [videoCourseId]=@videoCourseId)select * from temptb where rowNum between @startIndex and @endIndex" 这样我们的真分页就完成了,当然我们如果想让分页控件显示的好看些我们可以,在css中设置控件的格式,让我们的页面的更加美观。 但是需要注意的是:如果我们的控件不显示下面三点要注意:
1、要分页的记录总数只要一页且AlwaysShow设为false(默认),当然如果只有一页的时候,设置为false,就不会显示。
2、Visible属性设为false;
3.未设置RecordCount的值
 
  
 
  
 
  
 
  
 
 

你可能感兴趣的:(AspNetPager 分页显示)