在具有泛型模型的强类型视图中"Unknown element"



我在剃刀视图中定义通用模型时遇到问题。每当我使用通用模型时,我都会收到以下警告:

无法在此处放置未知元素"string"或元素。

示例:

@model List<string>

虽然这不会导致任何重大错误,但它仍然非常烦人。有没有一种方法可以在剃刀视图中定义一个不会导致此警告的泛型?

环境:VS 2013
ASP.NET MVC v5.1.2
Razor 3.1.1

我也遇到了同样的问题,事实证明,当我升级到最新版本的MVC时,并不是所有的配置元素都得到了正确更新。通过以下方式更改Web.config为我修复了这个问题:

  1. 确保任何提及System.Web.Mvc的行的版本号都已更改为5.0.0.0
  2. 确保任何提及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>

相关内容

最新更新