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();
    }
 
  

 

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

       上一页  
     
 下一页

你可能感兴趣的:(Asp.net,(C#))