写一个数据绑定函数,所有关于PageDataSource操作代码都在其中,最后只要在Page_load事件中执行这个方法就行了。
比起自己写分页代码要简洁很多,而且更方便。尤其是像我这样的初学者,最头痛的就是分页问题..
后台代码:
private void PageDataBind() { PagedDataSource myPage = new PagedDataSource(); myPage.DataSource = ((DataTable)_user._SqlReader("SELECT * FROM [FeedBack] ORDER BY ID DESC")).DefaultView; myPage.AllowPaging = true; myPage.PageSize = 5; int curPage; if (Request["Page"] != null) curPage = Convert.ToInt32(Request["Page"]); else curPage = 1; myPage.CurrentPageIndex = curPage - 1; lblCurPage.Text = "当前是第 " + curPage.ToString() + " 页"; if (myPage.PageCount > 0) { if (!myPage.IsFirstPage) { InkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curPage - 1); } else InkPrev.Visible = false; if (!myPage.IsLastPage) { InkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curPage + 1); } else InkNext.Visible = false; } Repeater1.DataSource = myPage; Repeater1.DataBind(); }
前台页面添加的控件代码:
<div align="center" style="font-size:12px;">
<asp:label ID="lblCurPage" Runat="server"></asp:label> <asp:HyperLink ID="InkPrev" Runat="server">上一页
</asp:HyperLink> <asp:HyperLink ID="InkNext" Runat="server">下一页</asp:HyperLink>
</div>