ASP.NET数据列表控件的分页总结(三)Asp.Net可定制分页用户控件2011-12-31 博客园 sl2008前一篇文章是采用存储过程来进行分页的,但是存在缺陷,没有代码重用,针对不同的表或者不同的视图都需要去编写存储过程,这样很麻烦,代码的重用性很差。本文将通过一个用户控件来实现数据分页的页面层以达到代码重用的目的。分页是借助用户自定义控件来实现,在这里主要有以下两种方法来实现:(一).吴旗娃的AspNetPager组件(推荐使用)首先,下载该dll文件。在工具箱中,鼠标右键,“选择项”,添加刚下载的dll文件。然后,将会在工具箱中看到一个AspNetPager分页控件,拖到页面,再拖一个数据显示控件,Gridview或Repeater。最后,写后台代码如下:
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindData(); } } //获取并绑定数据 public void BindData() { //连接数据库 string strCon = "server=.;database=Northwind;uid=sa;pwd="; SqlConnection con = new SqlConnection(strCon); string sql = "select * from Customers"; SqlDataAdapter sda = new SqlDataAdapter(sql,con); DataSet ds = new DataSet(); sda.Fill(ds); //AspNetPager分页控件如何用 DataView dv = ds.Tables[0].DefaultView; //使用PagedDataSource类 PagedDataSource pds = new PagedDataSource(); AspNetPager1.RecordCount = dv.Count;//取得记录总数 pds.DataSource = dv; pds.AllowPaging = true; //取得当前页的索引 pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1; pds.PageSize = AspNetPager1.PageSize;//取得每页显示的记录数 GridView1.DataSource = pds; //指定数据源 GridView1.DataBind(); } protected void AspNetPager1_PageChanged(object sender, EventArgs e) { BindData(); }}