簡體   English   中英

如何將路由http:// localhost:53244 / page.aspx?ID = 7842映射到http:// localhost:53244 / Home

[英]How to map routes http://localhost:53244/page.aspx?ID=7842 to http://localhost:53244/Home

需要映射路由,例如將http:// localhost:53244 / page.aspx?ID = 7842映射到http:// localhost:53244 / Home,並需要在新的映射URL中傳遞默認查詢字符串

我已經嘗試過System.Web.Routing.RouteTable.Routes.MapPageRoute("Home", "Home", "~/Page.aspx", false, new RouteValueDictionary { { "ID", "7844" } }); 但它對我不起作用,因為我需要在request.querystring中使用ID,而不是在Page.RouteData.Values["ID"]

這是我的基本代碼System.Web.Routing.RouteTable.Routes.MapPageRoute("Home", "Home/{*queryvalues}", "~/Page.aspx", false); 在其中我可以使用類似http:// localhost:53244 / Home的 URL ?ID = 7842但我只需要http:// localhost:53244 / Home

使用Web.Config可以使用URL映射

 <system.web> 
    <urlMappings enabled="true">
      <add
          url="~/page.aspx?ID=.."
          mappedUrl="~/Home" />  
  </system.web>

有關更多信息,請檢查

要處理page.aspx返回的所有頁面,可以使用url重寫規則

<rewriteModule>
  <rewriteOn>true</rewriteOn>
  <rewriteRules>
      <rule source="(.*)/Home"  
         destination="page.aspx?ID=$1"/> 
  </rewriteRules>
</rewriteModule>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM