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