Ошибка при просмотре за пределами папки Views - PullRequest
1 голос
/ 29 июня 2010

Я пытаюсь добавить View в произвольную папку в моем проекте MVC ( ~ / SomeOtherViewDirectory ). Это работает нормально, пока я не изменю представление, чтобы использовать строго типизированный.

Т.е., если страница наследуется от System.Web.Mvc.ViewPage , она компилируется и работает нормально, но если она наследуется от System.Web.Mvc.ViewPage , она делает не. Когда я включаю компиляцию страницы, она не скомпилируется (не может найти тип), иначе выдается исключение времени выполнения.

Я использую пользовательский ViewEngine - это просто стандартный WebFormsViewEngine с настроенными строками местоположения для поиска View.

Забавно, что одна и та же (пустая) страница работает внутри каталога Views. И я могу изменить свой ViewEngine так, чтобы он указывал на какой-то вложенный подкаталог View (скажем, ~ / Views / This / Is / Weird /) и копировать / вставлять страницу туда, и все компилируется и работает нормально.

WTH?

1 Ответ

2 голосов
/ 30 июня 2010

Для представлений вне папки Views нам нужно изменить web.config. Если вы проверите web.config в папке views, вы заметите эту дополнительную конфигурацию, либо создайте новый web.config в этих дополнительных папках, либо добавьте его в корневой файл web.config.

<pages
  pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
  pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
  userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...