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

AspNetPager 分頁控件入門指南:從安裝到基本用法

     編輯:ASP.NET 基礎

為什麼選擇 AspNetPager?

AspNetPager 是經典的 ASP.NET 分頁控件,它將分頁邏輯與 UI 完全分離,完美支援 SQL 級分頁(如 `LIMIT`、`ROW_NUMBER()`),彌補了 `GridView` 內建分頁效能差、邏輯耦合的不足。

安裝與配置步驟

  1. 下載控件:從官網下載 `AspNetPager.dll` 與 `AspNetPager.xml`(智能提示文檔)。
  2. 部署程序集:將兩個文件放入網站 `Bin` 目錄。
  3. 工具箱添加:在 Visual Studio 工具箱右鍵「選擇項目」→「瀏覽」選中 `AspNetPager.dll`,控件即會出現在工具箱中。
  4. 頁面註冊:拖拽控件到頁面,VS 自動生成註冊指令:`<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>`

最基本用法示例(以 SQLite 為例)

前台頁面

<asp:GridView ID="GridView1" runat="server"></asp:GridView>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" 
    PageSize="20" 
    OnPageChanging="AspNetPager1_PageChanging">
</webdiyer:AspNetPager>

後台代碼

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
        DisplayData(1, AspNetPager1.PageSize);
}

private void DisplayData(int pageIndex, int pageSize)
{
    using (var md = new SQLiteData())
    {
        // 1. 獲取總記錄數
        AspNetPager1.RecordCount = (int)(Int64)md.ExecuteScalar("SELECT COUNT(*) FROM city");

        // 2. 分頁查詢(SQLite 使用 LIMIT offset, count)
        string sql = string.Format("SELECT * FROM city LIMIT {0},{1}", (pageIndex - 1) * pageSize, pageSize);
        DataTable dt = md.FillDataTable(sql);

        // 3. 綁定數據
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
}

protected void AspNetPager1_PageChanging(object src, PageChangingEventArgs e)
{
    DisplayData(e.NewPageIndex, AspNetPager1.PageSize);
}

關鍵屬性與事件

屬性/事件說明
PageSize每頁記錄數,默認 10
RecordCount總記錄數,**必須在後台賦值**
CurrentPageIndex當前頁碼(只讀),首頁為 1
PageChanging分頁切換事件,參數 `e.NewPageIndex` 為目標頁碼
NumericButtonCount數字頁碼按鈕顯示個數
AlwaysShow僅一頁時是否仍顯示控件

進階提示

  • SQL 分頁優化:大數據量請使用 `ROW_NUMBER() OVER()` 或 `OFFSET/FETCH` (SQL Server 2012+) 避免全表掃描。
  • 自定義樣式:通過 `CssClass`、`CurrentPageButtonClass` 等屬性配合 CSS 美化外觀。
  • URL 分頁:設定 `UrlPaging="true"` 並配合 `UrlPageIndexName` 實現 SEO 友好的分頁鏈接。

總結

AspNetPager 核心在於「後台負責數據邏輯,前台負責 UI 渲染」。掌握 `RecordCount` 賦值時機與 `PageChanging` 事件處理,即可輕鬆實現高效分頁。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved