在MVC3中,'model'这个名称在当前上下文中不存在。

22 浏览
0 Comments

在MVC3中,'model'这个名称在当前上下文中不存在。

我在一个项目中添加了一个cshtml页面。当我尝试在其中添加以下声明时,我收到一个错误:“当前上下文中不存在\'model\'的名称”。\n

@model xyz.abc.SomeClass

\n我检查了引用,它们都在正确的位置。我在视图文件夹中添加了一个web.config,但问题没有解决。\n我是否漏掉了什么?

0
0 Comments

出现这个问题的原因是在MVC3中,'model'这个名称在当前上下文中不存在。解决方法是在项目的web.config文件中进行配置。

首先,在项目的根目录下的web.config文件中,添加以下代码:


  
    
      

然后,在Views文件夹下的web.config文件中,添加以下代码:


  
    
      

以上配置方法适用于在类库程序集中使用视图的情况,可以实现在多个MVC项目中共享视图,并解决了在MVC3中出现"The name 'model' does not exist in current context"的问题。

0
0 Comments

在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文件,就会出现这个错误。

0
0 Comments

在MVC3中,出现"The name 'model' does not exist in current context"的原因是没有在Views文件夹的默认MVC3 web.config文件中包含正确的命名空间。解决方法是将默认MVC3项目中创建的web.config文件复制到Views文件夹中,并确保文件中的命名空间部分与以下示例相似:

  
    
    
      
        
        
        
        
      
    
  

建议在新建的MVC3项目中创建一个新的web.config文件,然后将其复制到Views文件夹中。注意,复制完成后需要关闭并重新打开文件,这样Intellisense才会生效。

如果以上方法不起作用,可能需要添加一个元素。详情请参考:[forums.asp.net/t/1701750.aspx/1](http://forums.asp.net/t/1701750.aspx/1)

如果视图位于非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的版本。

0