Я начинаю новый проект ASP.NET MVC и решил поместить свои контроллеры в другую сборку. Evernighting работает нормально, но я столкнулся с проблемой: я создал новую область в моем проекте MVC под названием «Администрирование». У меня есть класс AdminController в моей отдельной сборке, который должен возвращать представления из моей области администратора, но каждый раз, когда он пытается вернуть представление, он ищет его в неправильном месте (~ / Admin / SomeView.cshtml вместо ~ / Administration /Admin/SomeView.cshtml) Как я могу указать контроллеру искать представления в нужной области?
Как использовать области с контроллерами из другой сборки?
Ответы (1)
Ознакомьтесь с этим статья. А также на вашу проблему ответили здесь.
По сути, вам нужно будет расширить 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
};
}
}
person
Restuta
schedule
29.01.2011
Это не моя проблема ... Контроллер (или ViewEngine ...) может найти мои представления, если они не находятся в определенной области. Предлагаемое вами решение не поможет в моем случае, но все равно спасибо :)
- person ItayMaoz; 29.01.2011
Почему бы и нет, вы уже смотрели первую статью? Области - это просто еще одна папка над представлениями, вы можете решить эту проблему таким же образом.
- person Restuta; 29.01.2011