QuickPager的源碼分離出來之後由兩個項目組成,一個是QuickPager、另一個是QuickPagerSQL。分頁控件的示範也獨立了出來。
如圖1 。

QuickPager是分頁控件的項目,負責UI的繪制,即上一頁、下一頁、頁号導航等的繪制,還有事件的觸發,控件綁定等功能。
QuickPagerSQL是生産分頁用的SQL的項目,這個也是獨立的,可以單獨調用這個dll。
QuickPager項目裡引用的DLL:
1、 Nature.CommonFunction
這裡除了常用函數庫外,還定義了一個接口(IDAL),就是資料通路的接口。如果你不想使用我的資料通路函數庫的話,可以通過實作這個接口的方式來換成你自己的資料通路方式。
2、 Nature.MetaData
這個是中繼資料的實體類的定義和加載管理。因為在中繼資料環境下使用分頁控件,可以從中繼資料裡面提取資訊,給分頁控件設定屬性,是以就需要引用這個dll。如果是獨立使用,那麼可以不用這個dll,隻是這個沒有做成接口的形式,必須顯示引用。
3、 Nature.WebControl.QuickPagerSQL
分頁算法的dll。如果是手動分頁的話,可以不用這個dll,隻是因為沒有做成接口的形式,是以必須引用進來才可以。
QuickPager分頁控件要運作起來還需要幾個dll。上面說的是在項目裡引用的dll,出來這幾個之外,在項目裡使用分頁控件的時候,還需要兩個dll。
1、 Nature.DataAccessLibrary.dll
這個是我的資料通路函數庫,如果是自動運作,那麼就必須有這個dll。如果是手動運作,那麼就可以不用這個dll。如果你自己實作了這個接口,那麼也可以不用這個dll。
2、 Nature.WebControl.Interface.dll
為啥要有這個dll呢?因為Nature.MetaData.dll需要這個dll。這個也是沒有分離幹淨的結果。如果能夠像資料通路那樣設定接口的話,那就可以按需引用這兩個個dll了。隻是對接口的了解和掌握還不夠,現在的水準還設計不好中繼資料的接口。是以暫時隻好這樣了,以後在進行改進。
Web.config 的修改
1、 注冊控件
代碼
<system.web>
<pages>
<!--注冊自定義控件-->
<controls>
<!--分頁控件-->
<add assembly="Nature.WebControl.QuickPager" namespace="Nature.WebControls" tagPrefix="Nature"/>
<!--注冊基礎控件,文本框、下拉清單框等-->
<add assembly="Nature.WebControl.BaseControl" namespace="Nature.WebControls" tagPrefix="Nature"/>
<!--注冊中繼資料控件
<add assembly="Nature.WebControl.MetaControl" namespace="Nature.WebControls" tagPrefix="Nature"/>-->
</controls>
</pages>
2、 修改連接配接字元串
如果使用我的資料通路函數庫的話,需要如下設定
<appSettings>
<add key="DataBaseType" value="1"/>
<add key="PagerSQLKey" value="22639340"/>
<add key="FCKeditor:BasePath" value="~/aspnet_client/FCKeditor/"/>
<add key="FCKeditor:UserFilesPath" value="/uploads"/>
</appSettings>
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=Nature_Demo;persist security info=False;user id=sa;pwd=admin;" providerName="System.Data.SqlClient"/>
</connectionStrings>
3、 URL重寫的設定
如果要實作URL重寫的話,需要如下設定。(URLRewriter)
<configuration>
<!--URL重寫的設定,居然必須是第一個-->
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
……
<!--重寫規則-->
<RewriterConfig>
<Rules>
<!--URL重寫的示範-->
<RewriterRule>
<LookFor>~/QuickPager/URL/list(\d+)\.aspx</LookFor>
<SendTo>~/QuickPager/URL/URLRewriter.aspx?page=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<!--URL重寫的設定-->
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
</httpHandlers>
先放出來分頁控件的兩個項目的源碼,其他幾個dll的源碼如果想看的話,可以先下載下傳自然架構源碼。我在整理一下,然後再發其他幾個dll的單獨的源碼。主要是調整一下“源碼下載下傳”欄目。需要增加多級分類、相關資源、最新版本的功能。
【QuickPager的類圖】
【QuickPagerSQL的類圖】