PageDataSourceクラスはRepeaterページングの問題を簡単に解決
データバインディング関数を書きます.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();
}
フロントページに追加されたコントロールコード:
前ページ次ページ