使用 Ternary 在 Razor 中设置元素颜色样式?操作员

Setting element color style in Razor using Ternary ? operator

我有一个 HTML 元素,它在我的 razor cshtml 文档中的整个 foreach 循环中重复自身,如下所示:

//@foreach(var item in Collection) ...  then goes this element...

 <div title="Find Item" value="@item.ID" class="btn btn-default btnItem"><i class="fa fa-bullseye" style="@(item.IsItemAvailable? "color:green" : "color:red")"></i></div>

请注意以下部分:

style="@(item.IsItemAvailable? "color:green" : "color:red")"

我正在尝试根据名为 IsItemAvailable 的 ViewModel 属性 设置元素的颜色,如果该项目可用,我会将元素颜色设置为绿色,否则将其设置为红色。 .

我假设在 ? 之后的第一件事是什么? operator 是当语句为 true 时,因此这意味着项目确实可用并且它的颜色应该设置为绿色??

但出于某种原因,按钮颜色总是设置为红色??伙计们,我做错了什么?

使用Html.Raw方法渲染css。

<div title="Find Item" value="@item.ID" class="btn btn-default btnItem">
    <i class="fa fa-bullseye" 
     style="@(item.IsItemAvailable? Html.Raw("color:green") : Html.Raw("color:red"))"></i>
</div>