Как добавить префикс ко всем действиям с помощью ASP.Net MVC URL Routing?
-
08-07-2019 - |
Вопрос
Я пытаюсь написать вызов MapRoute, который сделает любой маршрут с префиксом " json / " prepend "json" на имя действия. Например, маршрут примерно такой:
"json/{controller}/{action}"
с " json / Foo / Bar " ;, это должно привести к:
controller = "Foo"
action = "jsonBar"
Есть идеи?
Решение
Интересно, не лучше ли включить json в данные маршрута и посмотреть его в действии? то есть при сопоставлении вашего маршрута используйте что-то вроде (для значений по умолчанию):
new { mode="json", controller = "Home", action = "Index", id = "" }
или сопоставьте маршрут как:
"{mode}/{controller}/{action}"
затем получите доступ к этому в контроллере:
string mode = (string) RouteData.Values["mode"];
(или передать его в качестве аргумента)
Кроме этого, вы могли бы написать свой собственный обработчик маршрута, но это большая работа.
Не связан с StackOverflow