Как использовать области с контроллерами из другой сборки?
-
27-10-2019 - |
Вопрос
Я начинаю новый проект ASP.NET MVC, и я решил поставить свои контроллеры в другую сборку. Evertyhing работает нормально, но я столкнулся с проблемой: я создал новую область в своем проекте MVC под названием Administration. У меня есть класс AdminController в моей отдельной сборке, который должен возвращать виды из моей области администратора, но каждый раз, когда он пытается вернуть представление, он ищет его в неправильном месте (~/admin/someview.cshtml вместо ~/Администрация /Admin/someview.cshtml) Как я могу сказать контроллеру искать виды в районе разыскиваемой?
Решение
Пожалуйста, посмотрите на эта статья. Анкет А также вы ответили, что была ответа на проблему здесь.
По сути, вам нужно будет расширить MVCViewEngine, чтобы сказать MVC искать ваши взгляды в отличие от Standatd Patows:
public class YourMegaViewEngine : WebFormViewEngine
{
public YourMegaViewEngine ()
{
ViewLocationFormats = new string[]
{
"~/Views/Administration/{1}/{0}.cshtml" //I may be wrong for you case, but this is the place to puth you path
};
}
}