【问题标题】:Error with View outside Views folder在 Views 文件夹外查看时出错
【发布时间】: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?

【问题讨论】:

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


    【解决方案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 以外的目录上显示添加视图的选项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    相关资源
    最近更新 更多