【问题标题】:"System.Web.Mvc.HtmlHelper<..> does not contain a definition for 'DisplayFor'" even though namespace is included in Web.config“System.Web.Mvc.HtmlHelper<..> 不包含 'DisplayFor' 的定义”,即使命名空间包含在 Web.config
【发布时间】:2013-05-01 12:17:19
【问题描述】:

通过 SVN 存储库更新我的构建后,突然间我的所有视图代码都被破坏了,因为我的视图似乎无法解析 System.Web.Mvc 命名空间。我不断收到上述关于 Html 方法的消息(例如 Mvc 视图中的Html.DisplayForHtml.RadioButton 等。但是,命名空间显然包含在 Web.config 中

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

关于为什么这可能不起作用的任何其他想法?

【问题讨论】:

  • 您是否检查过System.Web.Mvc 仍然在您的项目中被引用?
  • 我之前遇到过这个问题,请确保您是否有多个配置文件,它位于所有这些文件中。我曾经有一个更新更改了一些配置,而不是重新添加 mvc 声明。
  • @Nomad101 我认为这是问题所在...有人从项目中删除了 Web.config 文件,但没有删除 View/Web.config

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


【解决方案1】:

只是在黑暗中拍摄,但我会检查 System.Web.Mvc 的参考路径。也许您正在引用某个版本的 System.Web.Mvc 库,因为您下载了一个新的 repo 副本,因此该库不再存在于您机器上的目录位置中。

【讨论】:

    猜你喜欢
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    相关资源
    最近更新 更多