路由到不同控制器的不同默认操作
本文关键字:默认 操作 控制器 路由 | 更新日期: 2023-09-27 17:55:19
我使用的是下面的默认路由。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = "17" }
问题是它非常僵化。在每种情况下,默认操作将为"索引"。(默认控制器将是"主页"。
当控制器 Uno 成为目标时,我想路由到操作 IndexHey,当 Duo 成为目标时路由到操作 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" }