牛腩新闻发布系统已近尾声,牛老师重磅推出真假分页作为压轴,足以见得分页的重要性。我们就一起看一下真假分页的实现以及各自的特点。
一、分页简介
当我们显示足够大的数据量时,所有数据显示在一页上,会造成不必要的麻烦,本着为用户服务的态度,我们往往采用分页显示的处理办法。分页主要分为真分页与假分页。
假分页: 从数据库一次性取出所有数据绑定到控件上,再将所有数据根据每页显示记录条数进行分页。当数据量 比较大时,这种分页方法会造成查询速度, 使用户体验度降低,但是跳页速度较快。
真分页:在执行查询操作的时候,只查询当前页面的要显示的内容。每次跳转页面也都要查询数据库取对应数据。查询速度快,用户体验度高,页面跳转速度较假分页慢。当数据量比较大时,适合用真分页技术。
二、分页实现
1、假分页的实现
假分页的实现比较简单,只需依赖自带控件GridView即可实现。
1、添加GridView控件GridView1
2、编写代码,绑定数据
/// <summary> /// 加载页面时,绑定数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindNews(); } } private void BindNews() { GridView1.DataSource = new NewsManager().SelectAll(); //查询所有数据并绑定 GridView1.DataBind(); } /// <summary> /// 实现跳页时数据更新 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; BindNews(); }
3、设定GridView属性
1)AllowPaging(允许分页属性)设为true
2)PageSize(页面显示数量)
3、真分页实现
因为GridView有自身的不足和局限性,我们引入外部控件ASPNETPAGER控件来实现真分页。
1、添加ASPNETPAGERT控件
下载控件,并添dll加到网页。
下载地址:http://www.webdiyer.com/aspnetpager/downloads/
2、进行数据绑定和属性设置
在此,只揭示道理,具体实现自己尝试去完成。UI代码如下:
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { anp.RecordCount = 48; //设定消息数 } } protected void anp_PageChanged(object sender, EventArgs e) { //记录每页记录的起始数 Response.Write("开始记录数:"+ anp.StartRecordIndex + "<br>结束记录数:"+anp.EndRecordIndex ); }
显示效果:
了解真假分页的区别、特性和实现方法。在以后的Web开发过程中,分页技术会一直伴随着我们。随着分页技术的学习,牛腩新闻发布系统也拉上了帷幕。作为B/S的第一个项目,从中学到了很多知识,对Web开发兴趣也更加浓厚,牛腩为我开启了B/S的大门。