有没有比用@if()更好的方法在剃刀中动态添加css

时间:2012-03-26 00:13:01

标签: css optimization razor

我可以在这里优化课堂作业吗?我必须在很多不同的地方这样做,并试图弄清楚如何减少它...复制粘贴 - 内嵌/内联。

@foreach(var m in Model.ObjectList)
{
 <td @if(m.RandomObject.isFlagged){
     <text>class="flagged"</text>
     }
 >
  @m.RandomObject.Name @m.RandomObject.Description
 </td>
}

请注意,不同位置的每个ObjectList都有不同的RandomObjects。

我想这也会奏效,但似乎仍然不是最佳做法:

<td class="flagged@(m.RandomObject.isFlagged)">...

然后让css定义为.flaggedtrue

1 个答案:

答案 0 :(得分:7)

我通常会将? ternary operator用于此类事情

<td class="@(m.RandomObject.isFlagged ? "flagged" : "")">
  ...
</td>