繁体   English   中英

Razor中C#表达式中的条件语句

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM