資源描述:
《asp.技術(shù)下自定義分頁控件的實現(xiàn)過程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、ASP.技術(shù)下自定義分頁控件的實現(xiàn)過程 一、引言 隨著Inter的普及,互聯(lián)X已經(jīng)成為人們?nèi)粘I畹闹匾M成部分,人們通過X絡(luò)可以瀏覽新聞、閱讀小說、實現(xiàn)購物等,而這些行為的實現(xiàn),都需要相關(guān)X站包含有大量的信息,并以X頁的形式將相關(guān)信息呈現(xiàn)在用戶面前,但大量信息通過一個頁面顯示[1],顯然會影響用戶的使用效果,分頁顯示數(shù)據(jù)即可解決大量信息的顯示問題,從用戶角度來說,分頁顯示數(shù)據(jù)即實現(xiàn)了一個X頁承載大量信息.而使用基于ASP.技術(shù)的自定義分頁控件即可實現(xiàn)靈活設(shè)置當(dāng)前頁面顯示信息數(shù)量的設(shè)置. 二、自定義分頁控件的實現(xiàn)過程 2.1自定義分頁控件的設(shè)
2、計.可根據(jù)具體需求,創(chuàng)建不同格式的分頁控件,本文實現(xiàn)的自定義分頁控件實現(xiàn)了一般的分頁功能,即首頁、、、末頁以及顯示當(dāng)前頁數(shù)及總頁數(shù).其中首頁、、、末頁可用HyperLink控件加以實現(xiàn),當(dāng)前頁數(shù)及總頁數(shù)可用Label控件加以實現(xiàn),另外為了方便分頁控件的顯示與隱藏可將以上控件放置在Panel控件中,進行集中控制[2]. 2.2自定義分頁控件功能實現(xiàn)(1)設(shè)置分頁控件自定義設(shè)置項.一般來說,分頁控件的當(dāng)前頁面顯示記錄數(shù),數(shù)據(jù)源及數(shù)據(jù)呈現(xiàn)控件是需要靈活設(shè)置的,所以在創(chuàng)建自定義分頁控件時,可將其設(shè)置為類成員變量,并將其訪問方式定義為private,再創(chuàng)建其
3、只讀屬性[3],即可實現(xiàn)通過自定義分頁控件實現(xiàn)以上信息的靈活設(shè)置. 數(shù)據(jù)呈現(xiàn)控件一般為Repeater控件或DataList控件等,此文以數(shù)據(jù)綁定至Repeater控件為例,代碼如下: privateintiRowCount;//記錄總數(shù) privateintiPageSize;//一頁顯示的記錄數(shù) privateintiPageCount;//總頁碼 privateintiPageIndex=0;//當(dāng)前頁碼 privateDataTabledt;//創(chuàng)建數(shù)據(jù)表對象 dtprivateRepeaterrepeater;//創(chuàng)建 Re
4、peater對象 repeaterpublicintIPageSize//iPageSize屬性 {set{iPageSize=value;}} publicDataTableDT//dt屬性 {set{dt=value;}} publicRepeaterIRepeater//repeater屬性 {set{repeater=value;}} (2)應(yīng)用PagedDataSource類實現(xiàn)對數(shù)據(jù)源數(shù)據(jù)的分頁操作.通過PagedDataSource類實現(xiàn)對數(shù)據(jù)源數(shù)據(jù)的分頁操作,需要設(shè)置其分頁對象數(shù)據(jù)源屬性(DataSource)、允許分頁
5、屬性(AllowPaging)、每頁顯示記錄數(shù)屬性(PageSize)、當(dāng)前頁碼屬性(CurrentPageIndex)、總頁碼數(shù)屬性(PageCount)等,代碼如下: PagedDataSourcepds=newPagedDataSource();//創(chuàng)建分頁對象 pdspds.DataSource=dt.DefaultView;//設(shè)置分頁對象數(shù)據(jù)源 dtpds.AllowPaging=true;//設(shè)置允許分頁 pds.PageSize=iPageSize;//設(shè)置每頁顯示記錄數(shù) pds.CurrentPageIndex=iPage
6、Index-1;//設(shè)置當(dāng)前頁碼 iPageCount=pds.PageCount;//設(shè)置總頁碼數(shù) //分頁對象pds作為數(shù)據(jù)源綁定至分頁控件repeater,顯示分頁后查詢結(jié)果 repeater.DataSource=pds; repeater.DataBind(); 說明:iPageIndex變量為當(dāng)前頁碼變量,此變量在分頁實現(xiàn)控制實現(xiàn)過程中動態(tài)設(shè)置. 三、結(jié)語 應(yīng)用該自定義分頁控件,可靈活設(shè)置分頁顯示數(shù)據(jù),控件引用方便,編碼簡單,對于中小規(guī)模數(shù)據(jù)量分頁速度較快,用戶體驗較好,但對于數(shù)據(jù)量較大的頁面建議使用SQL雙Top查詢實現(xiàn).