Как использовать области с контроллерами из другой сборки? - PullRequest
2 голосов
/ 29 января 2011

Я запускаю новый проект ASP.NET MVC и решил поместить свои контроллеры в другую сборку.Все работает нормально, но я столкнулся с проблемой: я создал новую область в своем проекте MVC под названием Администрирование.У меня есть класс AdminController в моей отдельной сборке, который должен возвращать представления из моей области администратора, но каждый раз, когда он пытается вернуть представление, он ищет его в неправильном месте (~ / Admin / SomeView.cshtml вместо ~ / Administration/Admin/SomeView.cshtml) Как я могу сказать контроллеру искать представления в требуемой области?

1 Ответ

1 голос
/ 29 января 2011

Пожалуйста, ознакомьтесь с этой статьей . А также на вашу проблему ответили здесь .

В основном вам нужно будет расширить MvcViewEngine, чтобы сообщить MVC искать ваши представления в отличных от стандартных патчах:

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
        };
    }
}
...