将asp.net mvc localhost / Products / News配置为localhost / Products,News

时间:2011-04-19 13:25:06

标签: asp.net-mvc-3 asp.net-mvc-routing

是否可以在路由路径中使用逗号而不是斜杠。实施例

localhost/products,news

而不是

localhost/products/news

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以映射这样的路线:

routes.MapRoute(
        "CommaSeperated",
        "{controller},{action},{id}",
            new { controller = "Home", action = "Index", 
                id = UrlParameter.Optional } 
    );

<强>更新

我发现了问题。逗号不被视为斜杠。您可以在使用斜杠时跳过参数,但逗号不是这种情况。当你使用逗号时,你必须提供路线中的所有内容。所以你应该提供所有3个参数,否则它将无法工作。 http://domain.com/files,details,3会有用,但http://domain.com/files,index不会。该URL中没有第二个逗号,因此它与路径不匹配。所以你在第一个路线之前写了另一条路线。

routes.MapRoute(
        "CommaSeperated1",
        "{controller},{action}",
            new { controller = "Home", action = "Index" } 
    );

答案 1 :(得分:0)