分頁是Web應用程式中最常使用的功能之一,在ASP.NET中,雖然自帶了一個可以分頁的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分頁功能並不盡如人意,如可自訂性差、無法透過Url實現分頁功能等,而且有時候我們需要對DataList和Repeater甚至自訂資料綁定控制項進行分頁,手工編寫分頁程式碼不但技術難度大、任務繁瑣而且程式碼重複使用率極低,因此分頁已成為許多ASP.NET程式設計師最頭痛的問題之一。
AspNetPager針對ASP.NET分頁控制項的不足,提出了與眾不同的解決asp.net中分頁問題的方案,即將分頁導航功能與資料顯示功能完全獨立開來,由使用者自己控制資料的取得及顯示方式,因此可以靈活地應用於任何需要實現分頁導航功能的地方,例如為GridView、DataList以及Repeater等資料綁定控制項實現分頁、呈現自訂的分頁資料以及製作圖片瀏覽程式等,因為AspNetPager控制項和資料是獨立的,因此要分頁的資料可以來自任何資料來源,如SQL Server、Oracle、Access、mysql、DB2等資料庫以及XML檔案、記憶體資料或快取中的資料、檔案系統等等。
AspNetPager 7.2 版發布
新增屬性PagingButtonLayoutType,可設定分頁導覽元素(數字頁索引、上頁、下頁、首頁和尾頁)的佈局方式,該屬性值是一個PagingButtonLayoutType枚舉,透過設定該屬性為PagingButtonLayoutType.UnorderedList或PagingButtonLayoutType. Span,允許將這些分頁導覽元素包含在與或與標籤之間,以便於為這些分頁元素套用CSS樣式。
新增PagingButtonClass 與PagingButtonStyle 屬性,可以單獨為分頁導覽按鈕(數字頁索引、上頁、下頁、首頁和尾頁)設定CSS樣式;
新增FirstLastButtonClass 與FirstLastButtonStyle 屬性,可以單獨為首頁和尾頁分頁導覽按鈕設定CSS樣式,如果該屬性未設定,但指定了PagingButtonClass 與PagingButtonStyle 屬性的值,則首頁和尾頁按鈕樣式將使用PagingButtonClass 與PagingButtonClass 與PagingButtonClass 與PagingButtonClass 與PagingButtonClass 與PagingButtonClass 與PagingButtonClass 與PagingButtonClass 屬性中指定的樣式;
新增NextPrevButtonClass 與NextPrevButtonStyle 屬性,可以單獨為上頁和下頁分頁導航按鈕設定CSS樣式,如果該屬性未設置,但指定了PagingButtonClass 與PagingButtonStyle 屬性的值,則上頁和下頁按鈕將使用PagingButtonClass 與PagingButtonClass 與PagingButtonStyle 屬性中指定的樣式;
新增MoreButtonClass 與MoreButtonStyle 屬性,可以單獨為更多頁(...)分頁導覽按鈕設定CSS樣式,如果該屬性未設置,但指定了PagingButtonClass 與PagingButtonStyle 屬性的值,則上頁和下頁按鈕樣式將使用PagingButtonClass 與PagingButtonStyle 屬性中指定的樣式;
新增屬性ShowMoreButtons ,可以指定是否顯示更多頁按鈕;
新增屬性CurrentPageButtonPosition ,可設定在每次分頁後,當前頁數字索引在所有的數字頁索引中的顯示位置,該屬性值是一個PagingButtonPosition枚舉,對應的值及說明如下
Beginning:當前頁數字索引總是顯示在所有數字頁索引的最前面;
End:目前頁數字索引總是顯示在所有數字頁索引的最後面;
Center:目前頁數字索引總是顯示在所有數字頁索引的中間;
Fixed:預設值,固定不變;
控制項的CssClass屬性僅套用於控制項的視窗元素(div),將不再應用於下屬分頁元素;
廢止屬性CenterCurrentPageButton,可用CurrentPageButtonPosition屬性取代;
修改CurrentPageIndexn屬性,允許在程式中任何地方以編程方式設定CurrentPageIndex的值來動態指定當前頁,直接設定該屬性的值時將同時引發PageChanging和PageChanged 事件,實現和點擊分頁按鈕一樣的分頁功能;
修正了7.1版中設定SubmitButtonImageUrl屬性後,Postback回發分頁方式情況下點擊數字頁索引按鈕不引發分頁事件的bug;
修正了使用Url分頁時,如果頁面上沒有伺服器端form控制項時無法註冊客戶端腳本的bug,從7.2版起如果使用Url分頁且ShowPageIndexBox屬性沒有設定為Never時, AspNetPager控制項必須放在與標記之間,若使用Url分頁且ShowPageIndexBox為Never時,頁面上可以不使用伺服器端form控制項。
AspNetPager的主要功能
1.支持透過Url進行分頁
AspNetPager除提供預設的類似DataGrid和GridView的PostBack分頁方式外,還支援透過Url進行分頁,像大多數asp程式中分頁一樣, Url分頁方式允許使用者透過在瀏覽器網址列中輸入對應的位址即可直接進入指定頁面,也可以使搜尋引擎搜尋到所有分頁的頁面的內容,因此具有用戶友好和搜尋引擎友好的優點,關於Url分頁與PostBack分頁方式的差異,請參考Url與PostBack分頁方式的對比。
2.支援Url分頁方式下的Url重寫(UrlRewrite)功能
Url重寫技術可以使顯示給用戶的Url不同於實際的Url,Url重寫技術被廣泛應用於搜尋引擎優化(SEO)、網站重組後重定向頁面路徑以及提供用戶友好的Url等方面, AspNetPager支持Url重寫技術可讓您自訂分頁導覽的Url格式,實現Url重寫;
3.支援使用使用者自訂圖片做為導航元素
您可以使用自訂的圖片檔案做為分頁控制項的導覽元素,而不僅限於顯示文字內容。
4.功能強大靈活、使用方便、可自訂性強
AspNetPager分頁控制項的所有導覽元素都可以由使用者進行單獨控制,從6.0版起,AspNetPager支援使用主題(Theme)與皮膚(Skin)統一控制項的整體樣式,配合asp.net 2.0中的DataSource控制項,AspNetPager只需要編寫短短幾行程式碼,甚至無需編寫任何程式碼,只需設定幾個屬性即可實現分頁功能。
5.增強的Visual Studio 2005/2008設計時支援
增強的設計時支援使控制在設計時更加直觀,易於使用,開發快速方便。
6.相容IE6.0+及FireFox 1.5+等瀏覽器
7、豐富而完整的控製文件和範例項目
控製附帶的完整的幫助文件及範例專案能夠幫助您快速上手,熟悉AspNetPager控制項的使用,您也可以透過給作者留言以及論壇提問等方式解決控制使用中遇到的問題。