首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 數據列表分頁總結(一):手動分頁與 PagedDataSource 基礎實作

     編輯:關於ASP.NET

ASP.NET 三大列表控制項中,唯 GridView 內建分頁。若追求樣式彈性常用 DataList/Repeater,需自行實作分頁。本文對比三種手動分頁模式。

1. GridView 手動分頁(下拉式跳頁)

<asp:GridView ID="gvShow" AllowPaging="True" PageSize="2" 
    OnPageIndexChanging="gvShow_PageIndexChanging" runat="server" />
<asp:DropDownList ID="DropDownList1" AutoPostBack="True" 
    OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" runat="server" />
protected void Page_Load(...) {
    if (!IsPostBack) { Bind(); FillPageNumbers(); }
}
private void FillPageNumbers() {
    DropDownList1.Items.Clear();
    for (int i=1; i<=gvShow.PageCount; i++) DropDownList1.Items.Add(i.ToString());
}
protected void DropDownList1_SelectedIndexChanged(...) {
    gvShow.PageIndex = Convert.ToInt32(DropDownList1.SelectedValue)-1;
    Bind();
}
protected void gvShow_PageIndexChanging(...) {
    gvShow.PageIndex = e.NewPageIndex; Bind();
}

2. DataList/Repeater + PagedDataSource

PagedDataSource 包裝 DataView,設定 AllowPaging、PageSize、CurrentPageIndex,再繫結至列表控制項,配合自訂分頁導航 UI(首頁、上頁、下頁、尾頁、頁碼)。

效能權衡

  • 預設分頁:全表撈回 → 記憶體分頁。資料量小(百筆內)開發最快。
  • 自訂分頁:僅撈當頁資料。資料量大(萬筆以上)必須採用,需撰寫分頁 SP 或動態 SQL。
  • PagedDataSource:仍屬全表撈回,但邏輯復用性佳,適合中小資料量且不想寫 SP 的專案。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved