簡體   English   中英

使用aspx擴展名將URL路由到MVC路由

[英]Route url with aspx extension to mvc route

我有一個網站將數據發布到舊的Web應用程序URL mywebsite.com/Confirm.aspx

我正在使用asp.net mvc編寫一個新的應用程序,我希望將相同的url發布應用於我的控制器“ Processor”上一個名為“ Confirm”的操作。 是否可以使用asp.net mvc中的“路由”來執行此操作? 如果是這樣怎么辦?

有一種解決方法。

您可以在web.config中添加以下請求處理程序。

<system.webServer>
  <handlers>
    <add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

    <add name="AspxlFileHandler" path="*.aspx" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
  </handlers>
</system.webServer>

然后,您可以創建路由定義:

routes.MapRoute(
    name: "LegacyHtml",
    url: "{page}.html",
    defaults: new { controller = "Home", action = "LegacyPage", page = UrlParameter.Optional }
);

routes.MapRoute(
    name: "LegacyAspx",
    url: "{page}.aspx",
    defaults: new { controller = "Home", action = "LegacyPage", page = UrlParameter.Optional }
);

接下來,您可以在路由中提到的控制器操作中處理請求。

或者,您可以根據頁面路徑變量的值將操作進一步重定向到其他頁面/站點。

在本博客中得到了很好的解釋

暫無
暫無

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

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