У меня есть несколько контроллеров с разными действиями (без действий «Index»). Действия, которые я считаю «дефолтными» действиями, называются по-разному. Я хочу создать маршруты по умолчанию для своих имен и иметь первое доступное действие (из моего списка действий по умолчанию), выполненное, если в маршруте указано только имя контроллера.Несколько маршрутов по умолчанию в ASP.NET MVC для разных действий по умолчанию
Так, к примеру, у меня есть следующие действия, которые я хочу рассмотреть по умолчанию и хотите проверить на их существование в контроллере в следующем порядке:
List()
Draw()
ViewSingle()
Маршрутизация должна каким-то образом искать/{ контроллер}, а затем принять первое доступное действие из приведенного выше списка в качестве действия по умолчанию, например:
/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" }
Помощь?
Зачем вы хотите это сделать? –