在 Views 文件夹外查看时出错
Posted
技术标签:
【中文标题】在 Views 文件夹外查看时出错【英文标题】:Error with View outside Views folder 【发布时间】:2010-06-29 14:24:20 【问题描述】:我正在尝试将视图添加到我的 MVC 项目 (~/SomeOtherViewDirectory) 中的任意文件夹。这工作正常,直到我修改视图以使用强类型。
也就是说,如果页面继承自System.Web.Mvc.ViewPage,它编译并运行良好,但是如果它继承自System.Web.Mvc.ViewPage它不是。当我打开页面编译时,它不会编译(找不到类型),否则会引发运行时异常。
我正在使用自定义 ViewEngine —— 它只是标准的 WebFormsViewEngine,带有用于查找视图的自定义位置字符串。
有趣的是,相同的(空)页面在 Views 目录中工作。我可以修改我的 ViewEngine 以指向 Views 的某个子子目录(例如,~/Views/This/Is/Weird/)并将页面复制/粘贴到那里,一切都编译并运行良好。
WTH?
【问题讨论】:
【参考方案1】:对于 Views 文件夹之外的视图,我们需要修改 web.config。如果您检查视图文件夹中的 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">
尝试一下,希望这可以解决您的问题。
【讨论】:
感谢您的帮助。太糟糕了,工具是这样的,rightclick->additem 没有在 \View 以外的目录上显示添加视图的选项以上是关于在 Views 文件夹外查看时出错的主要内容,如果未能解决你的问题,请参考以下文章
未定义变量:文件(查看:\resources\views\home.blade.php)