我在一个项目中添加了一个 cshtml 页面。当我尝试向其中添加以下声明时,出现错误:“当前上下文中不存在名称‘模型’”。

@model xyz.abc.SomeClass

我检查了引用资料,它们都到位了。我在 View 文件夹中添加了一个 web.config,但这并没有解决它。

有什么我想念的吗?

最佳答案

更新:如果您使用的是较新版本的 MVC,同样的过程适用,只需确保在 web.config 的 <host> 行中使用正确的版本号。

好吧,我发现自己遇到了与您相同的事情,经过进一步研究,我发现了问题所在!

您需要为 Views 文件夹包含默认的 MVC3 web.config。 MVC3 有两个:一个在您的应用程序的根目录中,一个在 views 文件夹中。这有一个包含命名空间的部分。确保你的看起来像这样:

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.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>

我建议您创建一个新的 MVC3 项目,然后将为您创建的 web.config 复制到您的 View 文件夹中。

重要 完成后,您需要关闭文件并重新打开它。瞧!智能感知!

关于asp.net-mvc-3 - 名称 'model' 在 MVC3 的当前上下文中不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6389055/

10-13 03:12