我有一个使用 asp.net MVC 4 构建的 Web 应用程序。我想要以下 3 种类型的路由:
- /行动
- /动作/id
- /id/id2
在 global.asax 中,我更改了路线,如下所示:
routes.MapRoute(
name: "Without Action",
url: "{id}/{id2}",
defaults: new { controller = "Home", action = "City_Category" },
namespaces: new[] { "Namespace.Controllers" }
);
routes.MapRoute(
name: "Without Controller",
url: "{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "Namespace.Controllers" }
);
但是当我尝试 {action}/{id} 时,它会转到 global.asax 中定义的第一条路线。仅当 url 为 {action} 或 {id}/{id2} 时才有效。
我怎样才能使所有 3 条路线都工作?
谢谢!