AspNetPager控制項的最基本用法

來源:互聯網
上載者:User

標籤: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 
  1. <asp:GridView ID="GridView1" runat="server">  
  2. </asp:GridView>  
  3. <webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="20"   
  4.     onpagechanging="AspNetPager1_PageChanging">  
  5. </webdiyer:AspNetPager>  


Default.aspx.cs檔案相關代碼:

[csharp] view plaincopy 
  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3.     if (!IsPostBack)  
  4.         DisplayData(1, AspNetPager1.PageSize);  
  5. }  
  6.   
  7. private void DisplayData(int pageIndex, int pageSize)  
  8. {  
  9.     SQLiteData md = new SQLiteData();  
  10.     AspNetPager1.RecordCount = md.ExecuteScalar<int>("select count(*) from city");  
  11.     DataTable dt = md.FillDataTable(string.Format("select * from city limit {0},{1}", (pageIndex - 1) * pageSize, pageSize));  
  12.     md.Close();  
  13.     GridView1.DataSource = dt;  
  14.     GridView1.DataBind();  
  15. }  
  16.   
  17. protected void AspNetPager1_PageChanging(object src, PageChangingEventArgs e)  
  18. {  
  19.     DisplayData(e.NewPageIndex, AspNetPager1.PageSize);  
  20. }  

首先在aspx檔案裡設定PageSize屬性,指出每頁的大小為20條記錄。然後在後台給出總記錄數RecordCount、當前頁碼e.NewPageIndex。其中DisplayData方法編寫的好壞很重要,這裡顯然實現的比較簡練。當第一次訪問頁面時,顯示第1頁、每頁20條記錄;以後選擇其他頁時,顯示第e.NewPageIndex頁、每頁20條記錄。本樣本使用的是SQLite資料庫,支援limit關鍵詞,所以分頁邏輯比較簡單。需要說明的是,這裡用到了自己編寫的資料庫操作類SQLiteData類,讀者可以改寫成用原生ADO.net操作,難度不大。

最後顯示效果:


AspNetPager控制項功能比較強大,這裡只不過介紹了最基本用法,以後有機會會介紹其他功能。

AspNetPager控制項的最基本用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.