Asp.net mvc 使用ASP.NET MVC进行条件格式设置
我有一个ASP.NET MVC应用程序,在视图中使用Razor。在我看来,我有以下几点:Asp.net mvc 使用ASP.NET MVC进行条件格式设置,asp.net-mvc,razor,Asp.net Mvc,Razor,我有一个ASP.NET MVC应用程序,在视图中使用Razor。在我看来,我有以下几点: <table style="width:100%;"> ... </table> ... 我想说,如果(items.Count==0),那么表的背景色应该是橙色。但是,如果(items.Count>0),我希望表格的背景色为灰色。我用剃须刀怎么做 谢谢大家! 您可以使用三元运算符: <table style='width:100%; @(items.Count >
<table style="width:100%;">
...
</table>
...
我想说,如果(items.Count==0)
,那么表的背景色应该是橙色。但是,如果(items.Count>0)
,我希望表格的背景色为灰色。我用剃须刀怎么做
谢谢大家! 您可以使用三元运算符:
<table style='width:100%; @(items.Count > 0 ? "background-color: grey;" : "background-color: orange;" )'>
...
</table>
...
CSS:
剃刀:
<table class="table @(items.Count == 0 ? "empty" : null)">
<table class="table">
请注意null
和“
(空字符串)之间的区别
正如Chris Pratt在他的评论中指出的,如果您不需要支持IE 9之前的版本,那么可以使用
:empty
伪类来获得类似的效果,而无需使用三元运算符
CSS:
剃刀:
<table class="table @(items.Count == 0 ? "empty" : null)">
<table class="table">
只需再提供一个选项,您可以在页面开头设置颜色
@{
var color = items.Any() ? "#CCC" : "#FF0";
}
在你的餐桌上
<table style="color:@color"></table>
为了减少多余的代码,您可以声明@(!items.Any()?“empty”:null)
,这是我的首选方法。最好的答案是,如果您可以忽略小于9的IE版本,您实际上可以使用。table:empty
作为选择器,然后您甚至不需要使用Razor三元组来应用类。IE9+和地球上的其他浏览器都支持:empty
伪类。@Damian我跳过了它,因为我不想解释系统。Linq
需要在所有cshtml文件中包含的名称空间集中。(或者包含在cshtml顶部的@using
。@ChrisPratt我完全同意。@TimothyShields很公平。我喜欢这个答案:)天哪!我是采用者。:)
<table style="color:@color"></table>