【发布时间】:2011-02-23 23:11:45
【问题描述】:
我有多个具有不同操作的控制器(没有“索引”操作)。我认为“默认”操作的操作名称不同。 我想为其名称创建默认路由,如果路由中仅提供控制器名称,则执行第一个可用操作(来自我的默认操作列表)。
因此,例如,我有以下操作要考虑默认,并希望按此顺序检查它们在控制器中是否存在:
List()
Draw()
ViewSingle()
路由应该以某种方式搜索 /{controller},然后将上面列表中的第一个可用操作作为默认操作,例如:
/ControllerA -> ControllerA.List()
/ControllerB -> ControllerB.Draw()
/ControllerC -> ControllerC.ViewSingle()
/ControllerD -> ControllerD.Draw()
/ControllerE -> ControllerE.List()
这可能吗?我尝试创建像这样的其他默认操作,但无法正常工作:
routes.MapRoute("Default1", "{controller}/{action}",
new { controller = UrlParameter.Optional, action = "List" }
routes.MapRoute("Default2", "{controller}/{action}",
new { controller = UrlParameter.Optional, action = "Draw" }
routes.MapRoute("Default3", "{controller}/{action}",
new { controller = UrlParameter.Optional, action = "ViewSingle" }
帮助?
【问题讨论】:
标签: c# asp.net-mvc routing routes asp.net-mvc-routing