2010-09-22 145 views
1

所以我加入這條路線我的地圖:asp.net MVC2路線

routes.MapRoute(
     "Default", 
     "/Bikes/{id}", 
     new { controller = "Bike", action = "Detail" } 
    ); 

但對於搜索引擎優化的原因,我們需要有像網址:/自行車/ 54 /名稱的自行車/樣自行車/車輪數量等等,但是id(54)之後的所有內容都可以忽略。

有沒有人知道如何創建這樣一個MapRoute來允許,上面的路由實際上不適用於包含id之後的東西的url。

回答

3

您可以使用一個包羅萬象的參數,像這樣

routes.MapRoute(
    "Default", 
    "/Bikes/{id}/{*stuff}", 
    new { controller = "Bike", action = "Detail", stuff = UrlParameter.Optional } 
); 

然後標識之後,什麼將被存儲在東西

1

像這樣的事情

routes.MapRoute(
    "Default", 
    "/Bikes/{id}/{slug*}", 
    new { controller = "Bike", action = "Detail", 
      slug = UrlParameter.Optional} 
); 
+0

您需要使用'{*塞}因爲你的是無效的 – Buildstarted 2010-09-22 13:53:25