是否可以在路由路径中使用逗号而不是斜杠。实施例
localhost/products,news
而不是
localhost/products/news
谢谢!
答案 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)