前台控件的代码 其实就系4个linkbutton <asp:LinkButton ID="lbt_home" runat="server" οnclick="lbt_home_Click">首 页</asp:LinkButton> <asp:LinkButton ID="lbt_pre" runat="server" οnclick="lbt_pre_Click">上一页</asp:LinkButton> <asp:LinkButton ID="lbt_next" runat="server" οnclick="lbt_next_Click">下一页</asp:LinkButton> <asp:LinkButton ID="lbt_last" runat="server" οnclick="lbt_last_Click">末 页</asp:LinkButton> 后台的代码了 首先声明几个全部的变量 static DataTable dt = null; //DataTable用于分页的table static int currentPage = 1; //设置当前页为1 static int intPageCount = 0; //页数 static int pageSize = 2; //每页大小 然后再page_load事件中写 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (currentPage > 1) currentPage = 1; Bind_Repeater(); } } private void Bind_Repeater() { string type="课程"; dt = new NewsManager().Find_By_type(type); Repeater1.DataSource = dt; Repeater1.DataBind(); doPage(dt); //自定义的方法 用于分页的 } protected void doPage(DataTable dt)//分页方法,把table传进入 { PagedDataSource pds = new PagedDataSource(); pds.AllowPaging = true; pds.DataSource = dt.DefaultView; pds.PageSize = pageSize; intPageCount = pds.PageCount; pds.CurrentPageIndex = currentPage - 1; this.Repeater1.DataSource = pds; this.Repeater1.DataBind(); } 然后就系四个LinkButton的事件了,即首页-上一页-下一页-尾页 //首页 protected void lbt_home_Click(object sender, EventArgs e) { currentPage = 1; Bind_Repeater(); } //上一页 protected void lbt_pre_Click(object sender, EventArgs e) { if (currentPage > 1) { currentPage -= 1; doPage(dt); } else { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('已经是第一页!');</script>"); } } //下一页 protected void lbt_next_Click(object sender, EventArgs e) { if (currentPage < intPageCount) { currentPage += 1; doPage(dt); } else { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('已经是最后一页!');</script>"); } } //最后一页 protected void lbt_last_Click(object sender, EventArgs e) { currentPage = intPageCount; doPage(dt); }