Как сделать частичное в главном проекте из области в MVC 3? - PullRequest
2 голосов
/ 24 июня 2011

У меня есть проект MVC 3 Razor.У этого есть область, названная Admin.У меня есть базовый макет страницы в папке Views / Shared проекта (по умолчанию).У меня есть контроллер в основном проекте под названием Common.Он будет отвечать за определенные части макета, основанные на бизнес-логике (навигация на основе ролей и т. Д.).У меня

@Html.Action("Navigation", "Common")

вызывается в файле _layout.cshtml.Это установлено для рендеринга навигационной панели.Когда я иду к маршруту в области администратора («admin / somedomainobject / add»), ошибка времени выполнения сообщает следующее:

«Контроллер для пути» / admin / somedomainobject / add »не найден или не реализует IController. "

Это просто прекрасно, когда я удаляю строку из макета.Ошибка происходит, если я использую приведенный выше синтаксис или следующее:

@{Html.RenderAction("Naviation", "Common");}

Это потому, что я использую области?Неправильно ли я использую основные папки проекта?

Буду признателен за любые идеи!

1 Ответ

7 голосов
/ 24 июня 2011

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

@{ Html.RenderAction("Naviation", "Common", new { @area = string.Empty }); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...