我在剃刀视图中定义通用模型时遇到问题。每当我使用通用模型时,我都会收到以下警告:
无法在此处放置未知元素"string"或元素。
示例:
@model List<string>
虽然这不会导致任何重大错误,但它仍然非常烦人。有没有一种方法可以在剃刀视图中定义一个不会导致此警告的泛型?
环境:VS 2013
ASP.NET MVC v5.1.2
Razor 3.1.1
我也遇到了同样的问题,事实证明,当我升级到最新版本的MVC时,并不是所有的配置元素都得到了正确更新。通过以下方式更改Web.config为我修复了这个问题:
- 确保任何提及
System.Web.Mvc
的行的版本号都已更改为5.0.0.0
- 确保任何提及
System.Web.WebPages.Razor
的行的版本号都已更改为3.0.0.0
我在使用泛型类型时遇到了同样的问题,web.config中的版本是正确的。我不得不把它包装在代码块中,使警告消失。
@{
@model List<MyModelType>
}
也有同样的问题,这是由MVC 4到5的不完整升级引起的问题。StriplingWarrior的建议有所帮助,但也需要对根web.config进行以下更改:
<add key="webpages:Version" value="3.0.0.0" />
(从2.0.0.0版开始)
以及重新启动Visual Studio。添加这两个步骤最终解决了这个问题。
使用小写m
。。。
@model List<string>