ASP.NET動態網站開發培訓-16.DataList控件(三)

第十六講:DataList控件(三)解決分頁問題

課程安排:

PagedDataSource類

HyperLink控件

Page_Load事件

分頁代碼分析


PagedDataSource類

常用屬性:

DataSource:用於指定數據源

例如:objPage.DataSource=dv;


AllowPaging:用於設置是否允許分頁

例如:objPage.AllowPaging=true;


PageSize:用於設置一頁中能夠顯示的頁數

例如:objPage.PageSize=4;


PageCount:用於獲得總頁數

例如:int TotalPage=objPage.PageCount


CurrentPageIndex:用於設置當前頁的索引號

例如:objPage.CurrentPageIndex=2;


IsFirstPage:用於判斷當前頁是否是首頁

例如:

if(!objPage.IsFirstPage){}


IsLatPage:用於判斷當前頁是否是末頁


HyperLink控件

用於顯示上一頁,下一頁字樣,並實現功能。

NavigateUrl:用於設置單擊超鏈接時,跳轉到的網頁地址。

例如:InkFirst.NavigateUrl="Default.aspx?Page=1";


實現分頁上一頁下一頁的思路:

在Page_Load加入代碼:

        int curPage=0;
        curPage = Convert.ToInt32(Request.QueryString["Page"]);
        if (curPage==0)
        {
            curPage = 1;
        }

        lnkPrev.NavigateUrl = "Default.aspx?Page=" + Convert.ToString(curPage - 1);
        lnkNext.NavigateUrl = "Default.aspx?Page=" + Convert.ToString(curPage+1);

        objPage.CurrentPageIndex = curPage-1;

若當前頁爲第一頁時,不顯示上一頁,當前頁爲最後一頁是地,不顯示下一頁。

        objPage.CurrentPageIndex = curPage-1;

        if (objPage.IsFirstPage)
            lnkPrev.Visible = false;
        else
            lnkPrev.Visible = true;

        if (objPage.IsLastPage)
            lnkNext.Visible = false;
        else
            lnkNext.Visible = true;


Page_Load事件

頁面加載時發生的事件。


分頁代碼分析

    protected void Page_Load(object sender, EventArgs e)
    {
        //創建一個SqlDzataSource類的對象sds
        SqlDataSource sds = new SqlDataSource();
        //給sds的SelectCommand屬性設置Select語句
        sds.SelectCommand = "SELECT * FROM [產品表]";
        //將數據庫連接字符串提取出來,賦值給sds的ConnectionString的屬性
        //這樣以來,sds就和MyDB數據庫連接上了。
        sds.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionSTring"].ConnectionString;

        //執行select語句,並將查詢結果轉換爲DataView,並賦值給dv對象。
        DataView dv = (DataView)sds.Select(DataSourceSelectArguments.Empty);

        //創建一個PagedDataSource類對象objPage
        PagedDataSource objPage = new PagedDataSource();

        //設置objPage對象的數據源爲dv
        objPage.DataSource = dv;
        //允許objPage分頁
        objPage.AllowPaging = true;
        //將每頁能夠顯示的項目數,設置爲4
        objPage.PageSize = 4;
        //將當前頁,設置爲第2頁
        //因爲第1頁的索引號爲0
        objPage.CurrentPageIndex = 1;

        DataList1.DataSource = objPage;
        DataList1.DataBind();        

    }


IsPostBack,在點擊頁面按鈕、點擊有PostBack屬性的值是IsPostBack。返回值爲True,第一次進入則爲False;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章