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

AspNetPager URL 重寫 (偽靜態) 設定範例

     編輯:ASP.NET 基礎

標記設定

<webdiyer:AspNetPager 
    ID="pager" 
    runat="server"
    UrlPaging="true" 
    EnableUrlRewriting="true"
    UrlRewritePattern="/bidding/list_%tid%_%cityid%_{0}_%isProvince%.aspx"
    PageSize="12"
    AlwaysShow="True"
    ShowBoxThreshold="2"
    FirstPageText="首頁" LastPageText="末頁"
    PrevPageText="上一頁" NextPageText="下一頁"
    NumericButtonTextFormatString="{0}"
    HorizontalAlign="Center" />

屬性說明

屬性用途
UrlPaging啟用 URL 分頁模式 (非 PostBack)
EnableUrlRewriting啟用 URL 重寫
UrlRewritePattern重寫規則:`%參數名%` 對應後台查詢字串參數,`{0}` 為頁碼佔位符

範例解析

Pattern: `/bidding/list_%tid%_%cityid%_{0}_%isProvince%.aspx`

  • 後台查詢字串需包含 `tid`、`cityid`、`isProvince` 參數。
  • 產生 URL 範例:`/bidding/list_5_12_3_1.aspx` (第 3 頁,tid=5, cityid=12, isProvince=1)

後台配合

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // 從 RouteData 或 QueryString 取得參數
        string tid = Request.QueryString["tid"] ?? RouteData.Values["tid"]?.ToString();
        // 綁定資料...
    }
}

IIS URL Rewrite 模組規則 (web.config)

<rewrite>
  <rules>
    <rule name="AspNetPagerRewrite" stopProcessing="true">
      <match url="^bidding/list_(\d+)_(\d+)_(\d+)_(\d+)\.aspx$" />
      <action type="Rewrite" url="/bidding/list.aspx?tid={R:1}&cityid={R:2}&page={R:3}&isProvince={R:4}" />
    </rule>
  </rules>
</rewrite>

優勢

  • URL 靜態化,利於 SEO。
  • 使用者可直接複製分頁連結分享。
  • 瀏覽器歷史記錄正常運作 (前進/後退)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved