AspNetPager 分页显示

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

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

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


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

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

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

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

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

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

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

        2.之后就是加载数据,

/// <summary>
    ///在分页中加载数据 
    /// </summary>
    /// <param name="CourseId"></param>
    /// <param name="pageSize"></param>
    /// <param name="PageNum"></param>
    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.选择需要的页面时
     /// <summary>
    /// 评论换页
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    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的值






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值