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