首页 > 解决方案 > 生产托管上的“无法在此范围内声明名为‘模型’的局部变量”错误。代码有什么问题?

问题描述

以下 Razor 代码在使用 Visual Studio 调试时工作正常,但在生产服务器上显示A local variable named 'Model' cannot be declared in this scope.错误。

<li><b>@Html.LabelFor(Model=>Model.RegisteredName)</b>&nbsp;@Model.RegisteredName</li>

在本地系统上,我<system.codedom>在 web.config 的部分内添加以下行:

<compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers> 

当我删除它时,它在从 Visual Studio 调试时显示相同的错误。

当我将这些行添加到生产服务器时,它向我显示了这个错误:

This program is blocked by group policy. For more information, contact your system administrator

标签: c#asp.netasp.net-mvcrazorweb-config

解决方案


尝试将 lamba 的变量从 更改Modelmodel。像这样:

<li><b> @Html.LabelFor(model => Model.RegisteredName)</b>&nbsp; @Model.RegisteredName</li>


推荐阅读