Razor View抛出"名称'model'在当前上下文中不存在"

在我的MVC 4应用程序中进行了重大的重构,Razor在调试Views时显示了这个错误:

名称'model'在当前上下文中不存在。

这就是违规的那行代码:

@model ICollection<DataSourceByActive>

我知道@model的用法是正确的。

为什么会发生这种情况?我怎样才能解决这个问题?

解决办法

我认为你把住在Views文件夹中的web.config文件弄乱了。

创建一个新的项目,目标是相同的.NET框架,并将其Views/web.config文件复制到当前项目中的文件之上。这将解决你的问题。

另外,正如Dudeman3000所说,如果你的MVC项目中有Areas,它们也都有Views/web.config文件。

评论(11)

确保你在你的网站Web.config和视图目录Web.config中的appSettings部分都有以下内容


对于MVC5,请使用:

(而且它只存在于主Web.config文件中。)

评论(7)

我遇到了同样的问题,我创建了一个新的项目,并按照Gupta的回答中的建议复制了web.config文件,但这并没有解决我的问题。我检查了Alex和Liam的答案,我想这一行肯定是从新的web.config中复制的,但看起来新项目本身没有这一行(MVC5):

在views/web.config文件中加入这一行,我就解决了这个问题。

评论(1)