分页技术

 

牛腩视频63集设计到分页技术,跟着你牛楠老师的视频,感觉此项技术挺简单的,然后自己就实现了一下。下面就分页技术进行一下总结。

 

1、分页:分页是指将数据库中的数据分成若干个页面,独立显示出来。

 

2、假分页:只从数据库中选择当前页的记录

 

我们可以用GridView控件来实现分页技术,它的实现是一种假分页,通过下面的代码来具体体现一下假分页技术:

 

界面:


  

向页面添加一个GridView控件;

设置其主要属性:   AllowPaging=True

PageSize=2

它的事件:PageIndexChanging

 

主要代码实现:

			 protected void Page_Load(object sender, EventArgs e)
			    {
			       if(!Page .IsPostBack)
			       {
			           BindNews();
			        }
			    }
			    //索引值发生改变。
			    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
			    {
			        GridView1.PageIndex = e.NewPageIndex;
			        BindNews();
			    }
			    //抽取的方法
			    private void BindNews()
			    {       
			        GridView1.DataSource = new NewsManager().SelectAll();
			        GridView1.DataBind();
			        GridView1.HeaderRow.Cells[0].Text = "序号";
			        GridView1.HeaderRow.Cells[1].Text = "标题";
			        GridView1.HeaderRow.Cells[2].Text = "内容";
			        GridView1.HeaderRow.Cells[3].Text = "创建时间";
			        GridView1.HeaderRow.Cells[4].Text = "类别ID";
			    }

效果图:

 

 

小结:从中我们不难看出,当我们点击一次页码时,程序都会调用SelectAll()方法,向数据库中查询所有的新闻,但是显示的只是当页面的内容。如果数据量大的话,这种方法拖慢程序的执行效率是必然的。

 

3、真分页:从数据库中选择所有的记录后再进行分页

 

这里需要引用外部控件Asp.NetPager控件,用它来实习那分页功能。我们借助DataGrid控件来显示我们分页的数据。

 

需要设置Asp.NetPager的属性

PageSize属性,在此是2.

StartRecordIndex:所选页的开始记录索引值。

EndRecordIndex:所选页的结尾记录索引值。

事件:PageChanged


 主要代码实现:

			 protected void Page_Load(object sender, EventArgs e)
			    {
			        if (!Page.IsPostBack)
			        {
			            anp.RecordCount = 10;
			           
			        }
			    }
			    protected void anp_PageChanged(object sender, EventArgs e)
			    {
			        //Response.Write("开始记录数:" + anp.StartRecordIndex + "<br>结束记录数:" + anp.EndRecordIndex);
			           
			       BindNews();
			    }
			
			    //抽取的方法
			    private void BindNews()
			    {
			        int startRecordIndex = anp.StartRecordIndex; //
			        int endRecordIndex = anp.EndRecordIndex;
			        GridView1.DataSource = new NewsManager().PageChanged(startRecordIndex,endRecordIndex);
			        GridView1.DataBind();
			    }
			   
			}

效果图:


 

小结:当我们单击页码时,会打当前页的:起始记录索引值(StartRecordIndex) 结束索引值(EndRecordIndex)去数据库中查询数据,去数据库查询的数据只是当前的记录页的数据,然后显示当前页的数据。很明显,此时的程序并没有做一些无用的工作,只查询它所有的数据。

 

4、总结:

1)分页技术解决了,内容太多,不利于用户使用和阅读的问题。

 

2)真假分页:

相同点:都能实现分页功能,方便用户的使用;

不同点:

假分页:顾名思义,只实现了表面的分页,实质上并没有实现数据的分离。 

真分页:不仅表面上实现了数据的分离,查询的时候也实现了数据的分离。

3)分页技术的作用:分页技术就如同我们的书本,它中所有的内容分成不同的页。可想一下:如果课本没有分页,一页承载一本书的所有内容,那将是一种怎样的情景!

 


评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值