您的位置:首页 > 其它

PageDataSource类轻松解决Repeater分页问题

2008-07-28 14:36 260 查看
写一个数据绑定函数,所有关于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();
}[code]


前台页面添加的控件代码:

<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: