我有一个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属性设置元素的颜色,如果该项目可用,我会将元素颜色设置为绿色,否则将其设置为红色......
我认为第一件事就是?运算符是在语句为真的时候,因此它意味着项目确实可用并且它的颜色应该设置为绿色??
但由于某种原因,按钮颜色总是设置为红色?我在这里做错了什么?
答案 0 :(得分:1)
使用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>