2010-09-22 87 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