【问题标题】:C# 6 syntax in Razor ViewRazor 视图中的 C# 6 语法
【发布时间】:2016-01-07 02:36:45
【问题描述】:
<input type="hidden" value="@ViewData["LoginProvider"]?.ToString() ?? null" />

ViewData 为空时,它会生成一个half-conversion,并且隐藏字段包含值:?.ToString() ?? null

我确定我已启用 C# 6:

<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">
    <providerOption name="CompilerVersion" value="v4.0" />
</compiler>

为什么?

【问题讨论】:

    标签: razor c#-6.0


    【解决方案1】:

    有问题吗??运算符,左边的值为字符串,右边的值为空,因此,它不是正确的语法。此外,由于涉及赋值操作,您需要将它们包装在括号中。

    您可以尝试以下方法:

    <input type="hidden" value="@(ViewData["LoginProvider"]?.ToString() ?? "")" />
    

    【讨论】:

      猜你喜欢
      • 2012-04-05
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 2016-10-26
      • 1970-01-01
      相关资源
      最近更新 更多