2014-03-02 241 views
0

我的老asp.net頁面過這種URL的MVC ASP.NET路由是有自定義URL

本地主機/產品/本,是最名稱的最 - 產品/ Item123.aspx

其中產品ID將爲123,我會得到它,然後將它傳遞給路由引擎以從數據庫中獲取正確的數據,然後顯示該頁面。 456.

本地主機/產品/ /該-是最名稱的最-產品Item456.aspx

會得到產品ID,我重寫MVC和我的網站想知道是否有人可以告訴我如何做一個路線,以便它可以向後兼容,本地主機/產品/這是這個名稱的產品/ Item123.aspx將去 本地主機/產品/ 123

我正在使用MVC 5 BTW。

回答

0

U可以使用2個路由一起:

routes.MapRoute(//for localhost/Product/This-Is-The-Name-Of-The-Product/Item456.aspx 
      name: "", 
      url: "Product/{ProductName}/item{id}.aspx", 
      defaults: new { controller = "Product", action = "Index", id= UrlParameter.Optional } 
     ); 

     routes.MapRoute(//this url for localhost/Product/123 
      name: "", 
      url: "Product/{id}", 
      defaults: new { controller = "Product", action = "Index", id = UrlParameter.Optional } 
     ); 
+0

非常感謝您! – user3370689