標籤:blog http io os 使用 ar strong for 檔案
AspNetPager控制項是一個基於.net的第三方免費開原始檔控制,具有開發高效、使用方便、功能完整等優點。它彌補了GridView內建分頁以及PageDatasource類輔助分頁的不足,將分頁資料邏輯和頁面UI分離開來,非常有利於SQL分頁的實現。下面僅舉一個最基本的用法,協助初學者入門。
到AspNetPage官方網站相應頁面下載控制項:點擊開啟連結
下載後解壓縮,裡面有一個AspNetPager.dll檔案,它就是我們要使用的控制項。另外還有一個AspNetPager.xml檔案,它是對應的文檔,主要有兩個作用:一是供開發人員使用控制項時在代碼智能提示裡嵌入使用說明,二是供自動產生文檔工具產生文檔。我們把這兩個檔案一併放到網站的Bin檔案下,然後在Visual Studio 2008 Express的工具箱內添加該控制項。接著往頁面中拖一個GridView和一個AspNetPager控制項。
為AspNetPager控制項設定相應屬性和事件,實現分頁功能,這是該控制項最重要最基本的用法。代碼如下:
Default.aspx檔案相關代碼:
[html] view plaincopy
- <asp:GridView ID="GridView1" runat="server">
- </asp:GridView>
- <webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="20"
- onpagechanging="AspNetPager1_PageChanging">
- </webdiyer:AspNetPager>
Default.aspx.cs檔案相關代碼:
[csharp] view plaincopy
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- DisplayData(1, AspNetPager1.PageSize);
- }
-
- private void DisplayData(int pageIndex, int pageSize)
- {
- SQLiteData md = new SQLiteData();
- AspNetPager1.RecordCount = md.ExecuteScalar<int>("select count(*) from city");
- DataTable dt = md.FillDataTable(string.Format("select * from city limit {0},{1}", (pageIndex - 1) * pageSize, pageSize));
- md.Close();
- GridView1.DataSource = dt;
- GridView1.DataBind();
- }
-
- protected void AspNetPager1_PageChanging(object src, PageChangingEventArgs e)
- {
- DisplayData(e.NewPageIndex, AspNetPager1.PageSize);
- }
首先在aspx檔案裡設定PageSize屬性,指出每頁的大小為20條記錄。然後在後台給出總記錄數RecordCount、當前頁碼e.NewPageIndex。其中DisplayData方法編寫的好壞很重要,這裡顯然實現的比較簡練。當第一次訪問頁面時,顯示第1頁、每頁20條記錄;以後選擇其他頁時,顯示第e.NewPageIndex頁、每頁20條記錄。本樣本使用的是SQLite資料庫,支援limit關鍵詞,所以分頁邏輯比較簡單。需要說明的是,這裡用到了自己編寫的資料庫操作類SQLiteData類,讀者可以改寫成用原生ADO.net操作,難度不大。
最後顯示效果:
AspNetPager控制項功能比較強大,這裡只不過介紹了最基本用法,以後有機會會介紹其他功能。
AspNetPager控制項的最基本用法