查看外部视图文件夹时出错

时间:2010-06-29 14:24:20

标签: asp.net-mvc asp.net-mvc-2

我正在尝试将View添加到我的MVC项目中的任意文件夹(〜/ SomeOtherViewDirectory )。这工作正常,直到我修改视图使用强类型。

即,如果页面继承自 System.Web.Mvc.ViewPage ,它编译并运行正常,但如果它继承自 System.Web.Mvc.ViewPage 它不是。当我打开页面编译时,它将无法编译(找不到类型),否则会抛出运行时异常。

我正在使用自定义ViewEngine - 它只是标准的WebFormsViewEngine,带有用于查找视图的自定义位置字符串。

有趣的是,在Views目录中可以使用相同的(空)页面。我可以修改我的ViewEngine以指向视图的一些子子目录(比如〜/ Views / This / Is / Weird /)并在那里复制/粘贴页面,所有内容都编译并运行正常。

WTH?

1 个答案:

答案 0 :(得分:2)

对于Views文件夹之外的视图,我们需要修改web.config。如果检查views文件夹中的web.config,您会注意到这个附加配置,要么在这些附加文件夹中创建一个新的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">

尝试一下,希望能解决你的问题。