ASP.NET——真假分頁

來源:互聯網
上載者:User

標籤:asp   分頁   bs   

      所謂分頁,就是把所有要顯示的內容分成n多頁來顯示。那為什麼要用分頁而不直接全部顯示呢?這就好比一本書,我們可以用一張紙寫完全部書的內容,但實際上並不是這麼做的。我們把網頁分成一頁一頁的,其實很大程度上是在為使用者考慮,極大的方便使用者。

      分頁有兩種,一種是真分頁,一種是假分頁。

      假分頁的“假”在於我已經把所有的資料取出來了,只是在顯示的時候給予一定的控制來到達分頁的效果。

      真分頁的“真”在於所有的資料並非一次取出,而是真真正正的使用者查看哪一頁才去資料庫中取出所需的內容。

假分頁:

      在ASP.NET中,我們經常用GridView,Repeater來綁定資料來源,顯示從資料庫中查到的資料。我們就先以GridView為例,來看看假分頁是如何?的。

首先,在頁面添加GridView。並設定允許分頁和分頁顯示的條數,即AllowPaging=True,PageSize=6.(即每頁顯示6條記錄,)


當運行介面時,可以顯示分頁狀態。但當單擊第2頁的按鈕時,會觸發PageIndexChanging事件,它是在單擊某一頁導覽按鈕時,但在 GridView 控制項處理分頁操作之前發生。

 public partial class Test : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            //當第一次進入頁面時,顯示繫結資料            if (!Page.IsPostBack)            {                GridView1.DataSource = new NewsManager().SelectAll(); //這裡用到了分層,可以直接理解為綁定資料庫中的表。                GridView1.DataBind();            }        }        //觸發分頁事件        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)        {            GridView1.PageIndex = e.NewPageIndex;            GridView1.DataSource = new NewsManager().SelectAll();            GridView1.DataBind();        }    }
這樣,就可以實現假分頁了。

真分頁:

這裡要用到一個分頁的控制項AspNetPager。

首先,添加該控制項。

在工具箱處右擊——選項卡

單擊瀏覽後,找到AspNetPager.dll.


這樣,工具箱就出現該控制項了。


把它拖到設計介面,如:


      分頁控制項添加完成後,類似地,設定每頁的顯示條數和最大記錄數。這時,當改變頁數時執行PageChanged事件。StartRecordIndex, EndRecordIndex分別是開始行數和結束行數。利用這兩個參數很容易可以實現從資料庫一頁一頁地取出資料,在這裡就不贅述了。


      比較這兩種分頁方式:

      真分頁與背景互動次數多,但面對龐大資料時仍能保持高效率,使用者體驗度較好。假分頁則相反。


附:

SQL中的分頁語句

select top 每頁顯示的記錄數(PageSize) * from topic where id not in   (select top (當前的頁數-1)×每頁顯示的記錄數 id from topic order by id desc)   order by id desc

AspNetPager分頁控制項

http://www.jb51.net/codes/40809.html


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.