<input type="hidden" value="@ViewData["LoginProvider"]?.ToString() ?? null" />
Run Code Online (Sandbox Code Playgroud)
当ViewData为null时,它使a 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>
Run Code Online (Sandbox Code Playgroud)
为什么?
有一个问题?? ?? 运算符,左手值是字符串,右手值是null,因此,它不是正确的语法.此外,由于涉及到赋值操作,您需要将它们包装在括号中.
您可以尝试以下方法:
<input type="hidden" value="@(ViewData["LoginProvider"]?.ToString() ?? "")" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |