在MVC3中,'model'这个名称在当前上下文中不存在。
在MVC3中出现"The name 'model' does not exist in current context"的错误是因为创建了一个新的区域来组织页面。在Web项目中,视图文件夹下创建的视图可以正常工作,但在新区域下创建的视图会抛出上述错误。为了解决这个问题,可以将视图文件夹下的web.config复制到新区域的视图文件夹中。出现这个问题是因为我手动使用“添加->新建文件夹”创建了这个新区域,而我应该右键单击项目,选择“添加->区域”,这样Visual Studio会正确设置区域。有人评论说通过将视图文件夹下的web.config复制到新区域的视图文件夹中解决了他们的问题。还有人评论说,他们遇到了相同的问题,并通过将视图文件夹的web.config版本设置为v4.0解决了问题。还有人评论说,将视图文件夹中的web.config与新区域中的web.config内容完全相同不能解决问题。还有人评论说,在他们的情况下,使用robocopy将本地版本与服务器版本同步时,排除了所有的web.config文件,没有在服务器版本中找到web.config文件,就会出现这个错误。
在MVC3中,出现"The name 'model' does not exist in current context"的原因是没有在Views文件夹的默认MVC3 web.config文件中包含正确的命名空间。解决方法是将默认MVC3项目中创建的web.config文件复制到Views文件夹中,并确保文件中的命名空间部分与以下示例相似:
建议在新建的MVC3项目中创建一个新的web.config文件,然后将其复制到Views文件夹中。注意,复制完成后需要关闭并重新打开文件,这样Intellisense才会生效。
如果以上方法不起作用,可能需要添加一个
如果视图位于非Web项目的程序集中,则可能需要查看我在两个web.config文件中所需的完整内容的答案。
我在web.config文件中添加了这些条目,但是在创建新的MVC应用程序并将其复制过来之后,它正常工作了。
感谢您提供的解决方法,直到您尝试从空白模板开始构建项目时,才会意识到默认MVC模板有多少样板代码。+1
对于MVC5,相同的解决方法也适用,只需确保在"host"行中使用正确的版本号。
最新版本现在是5.1.0.0 - 但是最好是创建一个新项目并复制它。
请确保在MAIN
web.config文件中更新到最新版本(此处为MVC 5):<add key="webpages:Version" value="3.0.0.0" />
如果其他与解决方案一起工作的人没有遇到此错误,但是我遇到了,该怎么办?在这种情况下,更改web.config文件是没有意义的。
我的情况是因为我手动添加了Areas文件夹。笑...查看如何添加areas文件夹:[c-sharpcorner.com/UploadFile/4b0136/getting-started-with-area-in-mvc-5/](http://www.c-sharpcorner.com/UploadFile/4b0136/getting-started-with-area-in-mvc-5/)
谢谢你。我解决了我的问题,我建议那些遇到这个错误的人检查你的视图的web.config文件,特别是Razor和MVC的版本。