【问题标题】:asp.net mvc2 Routesasp.net mvc2 路由
【发布时间】:2010-09-22 13:44:04
【问题描述】:

所以我已将这条路线添加到我的地图中:

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

但出于 SEO 的原因,我们需要有以下网址:/bikes/54/name-of-bike/kind-of-bike/number-of-wheels ... 等等。但是id (54) 之后的所有内容都可以忽略。

有谁知道如何创建这样的 MapRoute 来实现这一点,上面的路由实际上不适用于包含 id 之后的内容的 url。

【问题讨论】:

    标签: asp.net-mvc-2 routes


    【解决方案1】:

    你可以像这样使用一个包罗万象的参数

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

    那么 id 之后的任何东西都会被存储在 stuff 中

    【讨论】:

      【解决方案2】:

      类似的东西

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

      【讨论】:

      • 您需要使用{*slug},因为您的无效
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-12
      • 2011-04-04
      • 1970-01-01
      • 2011-05-31
      • 2011-05-02
      • 2011-05-04
      相关资源
      最近更新 更多