用户控件: PagedUC.ascx <div> <asp:Label ID="lblCurPage" runat="server"></asp:Label> <asp:HyperLink ID="lnkPrev" runat="server">上一页</asp:HyperLink> <asp:HyperLink ID="lnkNext" runat="server">下一页</asp:HyperLink> </div> PagedUC.ascx.cs public partial class PagedUC : UserControl { private DataSet _ds; private int _pagesize; public DataSet UcDataSource { get { return _ds; } set { _ds = value; } } public int UcPageSize { get { return _pagesize; } set { _pagesize = value; } } public PagedDataSource Objpage() { //创建分页类 var objPage = new PagedDataSource { //设置数据源 DataSource = _ds.Tables[0].DefaultView, //允许分页 AllowPaging = true, //设置每页显示的项数 PageSize = _pagesize }; //定义变量用来保存当前页索引 int curPage; //判断是否具有页面跳转的请求 if (Request["Page"] != null) { curPage = Convert.ToInt32(Request.QueryString["Page"]); } else { curPage = 1; } //设置当前页的索引 objPage.CurrentPageIndex = curPage - 1; //显示状态信息 lblCurPage.Text = string.Format("共{0}页 第{1}页", objPage.PageCount, curPage); //如果当前页面不是首页 if (!objPage.IsFirstPage) { //定义"上一页"超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值 lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curPage - 1); } //如果当前页面不是最后一页 if (!objPage.IsLastPage) { //定义"下一页"超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值 lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curPage + 1); } return objPage; } }