如何撰写此if
声明
@if (camera.IsInStock)
{
<span class="text-success" style="float:right">IN STOCK</span>
}
else
{
<span class="text-danger" style="float:right">OUT OF STOCK</span>
}
表达式如下:
@(camera.IsInStock ? "<span style='float:right' class='success'>IN STOCK</span>" : "<span style='float:right' class='danger'>OUT OF STOCK</span>")
我提供的表达并不起作用。 感谢
答案 0 :(得分:2)
当您尝试在三元表达式中呈现HTML标记时,应使用Html.Raw
方法,以便它不会被razor编码为html。
@(camera.IsInStock ?
Html.Raw("<span style='float:right' class='text-success'>IN STOCK</span>")
: Html.Raw("<span style='float:right' class='text-danger'>OUT OF STOCK</span>"))
我个人更喜欢你的第一种方法,因为我觉得它更具可读性。您也可以考虑创建一个辅助方法,它接受IsInStock
标志并返回所需的css类和所需的文本,甚至是整个span标记。