前端代码 <asp:DataList ID="DataList" runat="server" RepeatColumns="8"> <ItemTemplate> <asp:Label ID="TitleLabel" runat="server" Text='<%# Eval("Name") %>'/> </ItemTemplate> <ItemStyle BorderColor="Blue" BorderWidth="2px" /> </asp:DataList> <div id="pageControl"> <asp:LinkButton ID="FirstPageLinkButton" runat="server" Text="首页" OnClick="FirstPageLinkButton_Click" /> <asp:LinkButton ID="PrePageLinkButton" runat="server" Text="上一页" OnClick="PrePageLinkButton_Click" /> <asp:LinkButton ID="NextPageLinkButton" runat="server" Text="下一页" OnClick="NextPageLinkButton_Click" /> <asp:LinkButton ID="LastPageLinkButton" runat="server" Text="末页" OnClick="LastPageLinkButton_Click" /> 转到第<asp:TextBox ID="pageindexBox" οnkeypress="return isnum();" runat="server" Columns="1" /> 页<asp:Button ID="ChangePageButton" runat="server" Text="Go" OnClick="ChangePageButton_Click" /> <br /> <mce:script type="text/javascript" language="javascript "><!-- Function isnum()//验证输入是否为数字 { if(event.keyCode<45||event.keyCode>57) return false; } // --></mce:script> 页次:<asp:Label ID="CurPageLabel" runat="server" Text="0" />/ <asp:Label ID="PageCountLabel" runat="server" Text="0" />页 每页: <asp:Label ID="PagesizeLabel" runat="server">30</asp:Label> 项 总数: <asp:Label ID="TotalLabel" runat="server">0</asp:Label>项</div> 后台代码: using System; using System.Web.UI.WebControls; namespace MyNameSpace { public partial class Mypage : System.Web.UI.Page { protected PagedDataSource pds = new PagedDataSource(); protected void Page_Load(object sender, EventArgs e) { pds.DataSource = Global.DVRecorderManager.Get();//返回DVRecoder[] DVRecorderDataList.DataSource = pds; pds.AllowPaging = true; pds.PageSize = 64; PageCountLabel.Text = pds.PageCount.ToString(); TotalLabel.Text = pds.DataSourceCount.ToString(); if (!IsPostBack) { PageCountLabel.Text = pds.PageCount.ToString(); SelectPage(0); Session.Add("curpage", 0); } } protected void SelectPage(int pageIndex) { if (pageIndex >= pds.PageCount) { pageIndex = pds.PageCount - 1; } else if (pageIndex < 0) pageIndex = 0; pds.CurrentPageIndex = pageIndex; CurPageLabel.Text = (pageIndex + 1).ToString(); if (pageIndex == 0) { FirstPageLinkButton.Enabled = false; PrePageLinkButton.Enabled = false; } else { FirstPageLinkButton.Enabled = true; PrePageLinkButton.Enabled = true; } if (pageIndex == pds.PageCount - 1) { NextPageLinkButton.Enabled = false; LastPageLinkButton.Enabled = false; } else { NextPageLinkButton.Enabled = true; LastPageLinkButton.Enabled = true; } Session["curpage"] = pageIndex; DVRecorderDataList.DataBind(); } protected void FirstPageLinkButton_Click(object sender, EventArgs e) { SelectPage(0); } protected void PrePageLinkButton_Click(object sender, EventArgs e) { int pageindex; if (int.TryParse(Session["curpage"].ToString(), out pageindex)) { SelectPage(pageindex - 1); } } protected void NextPageLinkButton_Click(object sender, EventArgs e) { int pageindex; if (int.TryParse(Session["curpage"].ToString(), out pageindex)) { SelectPage(pageindex + 1); } } protected void LastPageLinkButton_Click(object sender, EventArgs e) { SelectPage(pds.PageCount - 1); } protected void ChangePageButton_Click(object sender, EventArgs e) { int pageinex = int.Parse(pageindexBox.Text) - 1; SelectPage(pageinex); } } }