路由到不同控制器的不同默认操作

时间:2014-03-29 17:02:20

标签: c# asp.net-mvc asp.net-mvc-routing

我使用下面的默认路由。

routes.MapRoute(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Home", action = "Index", id = "17" }

问题在于它非常严格。在每种情况下,默认操作都是索引。 (默认控制器将是 Home 。)

我希望在控制器 Uno 成为目标时路由到 IndexHey ,并在 Duo <时行动 IndexHoopla / em>是。这是什么语法?!

(我已经使用了不同的其他路线映射,但没有让它工作,现在我厌倦了试错。)

1 个答案:

答案 0 :(得分:1)

最简单的方法是在泛型之前为特定控制器设置特定路由

routes.MapRoute(
  name: "Uno",
  url: "Uno/{action}/{id}",
  defaults: new { controller = "Uno", action = "IndexHoopls", id = "17" }
routes.MapRoute(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Home", action = "Index", id = "17" }