【问题标题】:How can I get this ternary operator working on cshtml page?如何让这个三元运算符在 cshtml 页面上工作?
【发布时间】:2020-09-13 14:43:41
【问题描述】:

我发现这是一个奇怪的问题,尤其是因为它与 C#(三元运算符)和 ASP.NET Core Web 应用程序有关。 我有一个 .cshtml 页面,它正在检查用户是在编辑餐厅还是在创建新餐厅。我在这里使用了三元运算符来减少页面空间。 这是我的页面 Edit.cshtml 上令人不安的区域:

@{
(Model.RestaurantOnPage.Id < 1) ? <h2>Creating new restaurant</h2> : <h2>Editing @Model.RestaurantOnPage.Name</h2>; 
}

错误:

CS1525:无效的表达式术语“:”

这是实际错误的含义:https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs1525 我不明白这个问题来自哪里。我也不会在 StackOverflow 上问很多问题,如果这个问题一团糟,请见谅。

【问题讨论】:

    标签: c# .net-core


    【解决方案1】:

    使用ternary operator 的正确形式是:

     <h2>
            @((condition)? action1: action2)
     </h2>
    

    【讨论】:

      猜你喜欢
      • 2012-11-11
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 2019-01-29
      • 2022-01-14
      • 2021-11-08
      • 1970-01-01
      • 2018-08-31
      相关资源
      最近更新 更多