我在一个项目中添加了一个 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/