[英]Conditional statement in c# expression in Razor
我怎么写这个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>")
我提供的表达式不起作用。 谢谢
当您尝试在三元表达式中呈现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类和所需的文本,甚至返回整个范围标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.