asp.net下Repeater使用 AspNetPager分頁(yè)控件
2024-07-10 12:42:20
供稿:網(wǎng)友
一、AspNetPager分頁(yè)控件
分頁(yè)是Web應(yīng)用程序中最常用到的功能之一,在ASP.NET中,雖然自帶了一個(gè)可以分頁(yè)的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分頁(yè)功能并不盡如人意,如可定制性差、無(wú)法通過(guò)Url實(shí)現(xiàn)分頁(yè)功能等,而且有時(shí)候我們需要對(duì)DataList和Repeater甚至自定義數(shù)據(jù)綁定控件進(jìn)行分頁(yè),手工編寫分頁(yè)代碼不但技術(shù)難度大、任務(wù)繁瑣而且代碼重用率極低,因此分頁(yè)已成為許多ASP.NET程序員最頭疼的問(wèn)題之一。
AspNetPager針對(duì)ASP.NET分頁(yè)控件的不足,提出了與眾不同的解決asp.net中分頁(yè)問(wèn)題的方案,即將分頁(yè)導(dǎo)航功能與數(shù)據(jù)顯示功能完全獨(dú)立開來(lái),由用戶自己控制數(shù)據(jù)的獲取及顯示方式,因此可以被靈活地應(yīng)用于任何需要實(shí)現(xiàn)分頁(yè)導(dǎo)航功能的地方,如為GridView、DataList以及Repeater等數(shù)據(jù)綁定控件實(shí)現(xiàn)分頁(yè)、呈現(xiàn)自定義的分頁(yè)數(shù)據(jù)以及制作圖片瀏覽程序等,因?yàn)锳spNetPager控件和數(shù)據(jù)是獨(dú)立的,因此要分頁(yè)的數(shù)據(jù)可以來(lái)自任何數(shù)據(jù)源,如SQL Server、Oracle、Access、mysql、DB2等數(shù)據(jù)庫(kù)以及XML文件、內(nèi)存數(shù)據(jù)或緩存中的數(shù)據(jù)、文件系統(tǒng)等等。
二、基本屬性:
AlwaysShow:
默認(rèn)情況下,當(dāng)要分頁(yè)的數(shù)據(jù)只有一頁(yè)時(shí),AspNetPager默認(rèn)會(huì)自動(dòng)危險(xiǎn)期而不在頁(yè)面上顯示任何可見內(nèi)容,將此屬性值設(shè)為true時(shí),即使總頁(yè)數(shù)只有一頁(yè),AspNetPager也將顯示分頁(yè)導(dǎo)航元素。
FirstPageText:
獲取或設(shè)置為第一頁(yè)按鈕顯示的文本。
LastPageText:
獲取或設(shè)置為最后一頁(yè)按鈕顯示的文本。
NextPageText:
獲取或設(shè)置為下一頁(yè)按鈕顯示的文本。
PrevPageText:
獲取或設(shè)置為上一頁(yè)按鈕顯示的文本。
PageSize:
獲取或設(shè)置每頁(yè)顯示的項(xiàng)數(shù)。(該值獲取或設(shè)置數(shù)據(jù)呈現(xiàn)控件每次要顯示數(shù)據(jù)表中的的數(shù)據(jù)的項(xiàng)數(shù),AspNetPager根據(jù)該值和 RecordCount 來(lái)計(jì)算顯示所有數(shù)據(jù)需要的總頁(yè)數(shù),即 PageCount的值。 )
CssClass:
應(yīng)用于控件的css類名
CurrentPageButtonClass:
獲取或設(shè)置AspNetPager分頁(yè)控件當(dāng)前頁(yè)導(dǎo)航按鈕的級(jí)聯(lián)樣式表 (CSS) 類。
PageIndexBoxType:
或者或設(shè)置頁(yè)索引框的顯示類型,可以是允許用戶手工輸入的文本框和只能選擇的下拉框。
ShowBoxThreshold:
當(dāng) ShowPageIndexBox 設(shè)為Auto(默認(rèn))并且要分頁(yè)的數(shù)據(jù)的總頁(yè)數(shù)達(dá)到該值時(shí)會(huì)自動(dòng)顯示頁(yè)索引輸入文本框,默認(rèn)值為30。該選項(xiàng)當(dāng) ShowPageIndexBox 設(shè)為Never或Always時(shí)沒(méi)有任何作用。
三、風(fēng)格樣式:
===== 網(wǎng)易風(fēng)格 =====
.anpager .cpb {background:#1F3A87 none repeat scroll 0 0;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px 0 0;padding:4px 5px 0;}
.anpager a {background:#FFFFFF none repeat scroll 0 0;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px 0 0;padding:4px 5px 0;text-decoration:none}
.anpager a:hover{background:#1F3A87 none repeat scroll 0 0;border:1px solid #1F3A87;color:#FFFFFF;}