2010-06-08 90 views
1

如果值恰好为负值,如何有条件地将样式'color:red'添加到.CurrentDifference中?根据条件将颜色样式添加到值

谢谢, 杆。

<div class="sRow"> 
    <div class="sLabel p40"> 
     Difference: 
    </div> 
    <%= (!String.IsNullOrEmpty(Model.Amount)?Model.Amount.CurrentDifference.ToString("c"):string.Empty) %> 
</div> 

回答

1
<div class="sRow"> 
    <div class="sLabel p40"> 
     Difference: 
    </div> 
    <span style="<%=Model.Amount.CurrentDifference < 0 ? "color: #FF0000": ""%>"> 
     <%= (!String.IsNullOrEmpty(Model.Amount)?Model.Amount.CurrentDifference.ToString("c"):string.Empty) %> 
    </span> 
</div> 

注意这是非常草率的。我会考虑把这个逻辑放在你的Controller Action中,而不是在你的View中添加条件逻辑。也许使用tempdata或甚至在你的模型中公开一个新字段。

+0

@ J.H。 - 对于颜色和string.empty? – Rod 2010-06-08 18:16:48

+1

即时通讯假设你在我的回答下面提到我的评论。是的,我会尝试从视图中删除逻辑,并以某种方式在Controller操作中应用该逻辑。通过这种方式,您的视图更清晰一些,您的控制器操作中的调试过程可以更容易地遵循您的视图中的<%=%>标签。 – 2010-06-08 18:23:17

+0

@ J.H。 - 是的,我刚才提到你的评论。谢谢你的洞察力,棒。 – Rod 2010-06-08 18:28:44

1

我会为您的样式表添加一个红色的类。然后有条件地将该类应用于跨度。

<div class="sRow"> 
    <div class="sLabel p40"> 
     Difference: 
    </div> 
    <span class='<%= (Model.Amount>0?"Currency":"CurrencyRed") %>' > 
    <%= (!String.IsNullOrEmpty(Model.Amount)?Model.Amount.CurrentDifference.ToString("c"):string.Empty) %> 
    </span> 
</div>