Как добавить префикс ко всем действиям с помощью ASP.Net MVC URL Routing?

StackOverflow https://stackoverflow.com/questions/833996

Вопрос

Я пытаюсь написать вызов 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"];

(или передать его в качестве аргумента)

Кроме этого, вы могли бы написать свой собственный обработчик маршрута, но это большая работа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top