Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 路由到不同控制器的不同默认操作_C#_Asp.net Mvc_Asp.net Mvc Routing - Fatal编程技术网

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

C# 路由到不同控制器的不同默认操作,c#,asp.net-mvc,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc Routing,我正在使用下面的默认路由 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = "17" } 问题是它非常僵硬。在每种情况下,默认操作都是索引。(默认控制器将位于主位置。) 当控制器Uno是目标时,我想路由到action IndexHey,当Duo是目标时,路由到action In

我正在使用下面的默认路由

routes.MapRoute(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Home", action = "Index", id = "17" }
问题是它非常僵硬。在每种情况下,默认操作都是索引。(默认控制器将位于主位置。)

当控制器Uno是目标时,我想路由到action IndexHey,当Duo是目标时,路由到action IndexHoopla。这句话的语法是什么


(我已经尝试过不同的额外路由映射,但没有成功,现在我厌倦了反复尝试。)

最简单的方法是在像这样的通用路由之前为特定控制器指定特定的路由

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" }

是否建议调用两个路由默认值?我会使用Uno,Duo等@KonradViltersten-复制粘贴。。。我不相信你可以有重复的名字(现在不能检查)。更新了样本。