【发布时间】:2014-09-15 11:47:48
【问题描述】:
我最近对我的两个项目进行了 NuGet 包更新。所以我使用的是 Microsoft.AspNet.Mvc 5.2.0 版。一个项目运行良好,另一个项目出现问题,因为我现在无法创建强类型剃刀视图。以下是我的观点之一:
@ModelType MyServiceLibrary.EmailTemplateModelObject
Dear @Model.FirtName,<br><br>
我收到以下错误:
'ModelType' 未声明。由于其保护级别,它可能无法访问。
这个问题中引用的内容几乎是什么:asp.net mvc 3 'ModelType' is not declared
我已尝试实施建议的修复,但没有成功。我正在使用 vb.net 环境。这是我的 ~/Views/Web.config 中的内容:
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
谁能看到我在这里做错了什么?
【问题讨论】:
-
应该是
@model MyServiceLibrary.EmailTemplateModelObject -
我认为这是 c# 语法,而不是 vb.net
-
Web.config是否适用于所有视图文件夹(以及您正在使用的任何区域)?如果您有更多 Web.config,请检查它们以确保它们相似。 -
你对罗文感兴趣。上面列出的 web.config 仅在“views”目录中。我已经用这些设置更新了主 web.config ......现在......奇怪的行为。现在可以识别 ModelType,但不能识别 @Model。收到超过 100 个“无法识别模型”编译错误...
-
我会不理会主 Web.config,但请检查任何其他 Web.config 文件。
标签: asp.net-mvc vb.net razor asp.net-mvc-5