public class DotNetPagedData : System.Web.UI.Page
 {
 private System.Web.UI.WebControls.GridView gridview = null;
 private System.Web.UI.WebControls.DataList datalist = null;
 private System.Web.UI.WebControls.Repeater repeater = null;
 private System.Web.UI.WebControls.HyperLink lnknext;
 private System.Web.UI.WebControls.HyperLink lnkprev;
 private System.Web.UI.WebControls.HyperLink lnkfist;
 private System.Web.UI.WebControls.HyperLink lnklast;
 private System.Web.UI.WebControls.HyperLink lnkjump;
 private System.Web.UI.WebControls.Label pagenum;
 private System.Web.UI.WebControls.Label pagecount;
 private System.Web.UI.WebControls.Panel pagedPanel;
 private System.Web.UI.WebControls.DropDownList list;
 public DotNetPagedData()
 {
 // 
 // TOD 在此处添加构造函数逻辑 
 // 
 }
 public System.Web.UI.WebControls.GridView GridView
 {
 get
 {
 return this.gridview;
 }
 set
 {
 this.gridview = value;
 }
 }
 public System.Web.UI.WebControls.DataList Datalist
 {
 get
 {
 return this.datalist;
 }
 set
 {
 this.datalist = value;
 }
 }
 public System.Web.UI.WebControls.Repeater Repeater
 {
 get
 {
 return this.repeater;
 }
 set
 {
 this.repeater = value;
 }
 }
 public System.Web.UI.WebControls.HyperLink Lnkprev
 {
 get
 {
 return this.lnkprev;
 }
 set
 {
 this.lnkprev = value;
 }
 }
 public System.Web.UI.WebControls.HyperLink Lnknext
 {
 get
 {
 return this.lnknext;
 }
 set
 {
 this.lnknext = value;
 }
 }
 public System.Web.UI.WebControls.HyperLink Lnkfist
 {
 get
 {
 return this.lnkfist;
 }
 set
 {
 this.lnkfist = value;
 }
 }
 public System.Web.UI.WebControls.HyperLink Lnklast
 {
 get
 {
 return this.lnklast;
 }
 set
 {
 this.lnklast = value;
 }
 }
 public System.Web.UI.WebControls.HyperLink Lnkjump
 {
 get
 {
 return this.lnkjump;
 }
 set
 {
 this.lnkjump = value;
 }
 }
 public System.Web.UI.WebControls.Label Pagenum
 {
 get
 {
 return this.pagenum;
 }
 set
 {
 this.pagenum = value;
 }
 }
 public System.Web.UI.WebControls.Label Pagecount
 {
 get
 {
 return this.pagecount;
 }
 set
 {
 this.pagecount = value;
 }
 }
 public System.Web.UI.WebControls.DropDownList List
 {
 get
 {
 return this.list;
 }
 set
 {
 this.list = value;
 }
 }
 public System.Web.UI.WebControls.Panel PagedPanel
 {
 get
 {
 return this.pagedPanel;
 }
 set
 {
 this.pagedPanel = value;
 }
 }
 //针对一般数据邦定,不执行sqlstr
 public void datapage(DataSet ds, int pagenum)
 {
 PagedDataSource objPds = new PagedDataSource();
 objPds.AllowPaging = true;
 //每页显示数目 
 objPds.PageSize = pagenum;
 //指定数据源 
 objPds.DataSource = ds.Tables[0].DefaultView;
 int CurPage;
 //绑定dropdownlist数据 
 for (int i = 1; i <= objPds.PageCount; i++)
 {
 this.list.Items.Add(i.ToString());
 }
 this.list.Items.Insert(0, new ListItem("页数", ""));
 //确定当前页数 
 if (System.Web.HttpContext.Current.Request.Params["Page"] != null)
 {
 CurPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]);
 }
 else
 {
 CurPage = 1;
 }
 objPds.CurrentPageIndex = CurPage - 1;
 if (objPds.PageCount > 1)
 {
 pagedPanel.Visible = true;
 }
 else
 {
 pagedPanel.Visible = false;
 }
 //显示当前页数 
 this.pagenum.Text = "当前:" + CurPage.ToString() + "页";
 //显示总共页数 
 this.pagecount.Text = "共有" + objPds.PageCount + "页";
 //下一页 
 if (!objPds.IsLastPage)
 {
 lnknext.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
 }
 //上一页 
 if (!objPds.IsFirstPage)
 {
 lnkprev.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
 }
 //第一页 
 if (CurPage != 1)
 {
 lnkfist.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1);
 }
 //最后一页 
 if (CurPage != objPds.PageCount)
 {
 lnklast.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(objPds.PageCount);
 }
 //绑定gridview 
 if (this.gridview != null)
 {
 gridview.DataSource = objPds;
 gridview.DataBind();
 }
 //绑定datalist 
 if (this.datalist != null)
 {
 datalist.DataSource = objPds;
 datalist.DataBind();
 }
 //绑定repeater 
 if (this.repeater != null)
 {
 repeater.DataSource = objPds;
 repeater.DataBind();
 }
 }
 //重载,针对执行sqlstr
 public void datapage(string sqlcon, string sqlstr, int pagenum)
 {
 SqlConnection objConn = new SqlConnection(sqlcon);
 SqlDataAdapter objCommand = new SqlDataAdapter(sqlstr, objConn);
 DataSet ds = new DataSet();
 objCommand.Fill(ds);
 PagedDataSource objPds = new PagedDataSource();
 objPds.AllowPaging = true;
 //每页显示数目 
 objPds.PageSize = pagenum;
 //指定数据源 
 objPds.DataSource = ds.Tables[0].DefaultView;
 int CurPage;
 //绑定dropdownlist数据 
 for (int i = 1; i <= objPds.PageCount; i++)
 {
 this.list.Items.Add(i.ToString());
 }
 this.list.Items.Insert(0, new ListItem("页数", ""));
 //确定当前页数 
 if (System.Web.HttpContext.Current.Request.Params["Page"] != null)
 {
 CurPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]);
 }
 else
 {
 CurPage = 1;
 }
 objPds.CurrentPageIndex = CurPage - 1;
 if (objPds.PageCount > 1)
 {
 pagedPanel.Visible = true;
 }
 else
 {
 pagedPanel.Visible = false;
 }
 //显示当前页数 
 this.pagenum.Text = "当前:" + "第" + CurPage.ToString() + "页";
 //显示总共页数 
 this.pagecount.Text = "共有" + objPds.PageCount + "页";
 //下一页 
 if (!objPds.IsLastPage)
 {
 lnknext.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
 }
 //上一页 
 if (!objPds.IsFirstPage)
 {
 lnkprev.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
 }
 //第一页 
 if (CurPage != 1)
 {
 lnkfist.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1);
 }
 //最后一页 
 if (CurPage != objPds.PageCount)
 {
 lnklast.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(objPds.PageCount);
 }
 //绑定gridview 
 if (this.gridview != null)
 {
 gridview.DataSource = objPds;
 gridview.DataBind();
 }
 //绑定datalist 
 if (this.datalist != null)
 {
 datalist.DataSource = objPds;
 datalist.DataBind();
 }
 //绑定repeater 
 if (this.repeater != null)
 {
 repeater.DataSource = objPds;
 repeater.DataBind();
 }
 }
 //dropdownlist选择改变 
 public void select()
 {
 this.lnkjump.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(this.list.SelectedItem.Value);
 }
 }
}
 
来源:网络