c# - Razor 安全检查无效的表达式术语

标签 c# asp.net-mvc razor

我正在尝试在 Web 应用程序中呈现 Razor View 。它在这条线上惨遭失败:

if (Model?.Items == null)
{
    return;
}

由于安全导航运算符,它会抛出 InvalidExpressionException。我的同事没有遇到此错误,我已确认我的 bin 目录中的所有版本的 MVC 和 Razor dll 都是相同的。

谢谢, 本

最佳答案

郑重声明,这是在您的 Web.config 中省略此条目(或类似条目)时出现的错误。在我的例子中,有一个 gulp 任务转换了目标 Web.config 并添加了这个条目。运行后,一切正常。

<compilers>
  <compiler language="c#;cs;csharp" extension=".cs"
    type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.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.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
</compilers>

关于c# - Razor 安全检查无效的表达式术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35098539/

相关文章:

c# - 如何使用 UIView.hidden 属性更改 View 的可见性

jquery - 试图改变形式的行动

c# - mvc 对数字的默认验证

asp.net-mvc-3 - MVC3 Razor 循环中奇怪的隐藏字符

c# - 在 asp.net mvc 应用程序中从 Javascript 访问 C# 变量

c# - 尝试在 html 编辑器扩展程序中插入图像

c# - MVC3 十进制字段未正确验证

javascript - 显示/隐藏 div (ASP.NET MVC)

c# - 单击按钮时在 View 中的列表框中添加项目

c# - 对象在调用 TryUpdateModel 后与 nHibernate session 断开连接