Подтвердить что ты не робот

Url.Action() с областью возвращает пустую строку

Я использую Razor в MVC 4. Я пытаюсь сделать URL из представления в области для действия контроллера в другой области. Следующее возвращает пустую строку:

    @Url.Action("Action", "MyController", new { area = "OtherArea" })

Я провел некоторое тестирование с другими параметрами, и следующее возвращает URL-адрес, но это неправильно:

    @Url.Action("Action", "MyController", new { parameter = 1 })

В результате URL-адрес/App/IncorrectArea/My/Action? parameter = 1. Обратите внимание на неправильную область; Url.Action предполагает (поскольку я не прошел область), что контроллер живет в текущей области, которой он не является!

Любые идеи?

4b9b3361

Ответ 1

Нашел свою проблему. Я изменил имя области, но не смог обновить свойство AreaName в Регистрации области.

Ответ 2

У меня была та же проблема, потому что я изменил метод RegisterRoutes от {controller}/{action}/{id} до {action}/{id} только для того, чтобы испустить имя контроллера из URL