【问题标题】:add color style to value based on condition根据条件为值添加颜色样式
【发布时间】:2010-06-08 17:31:22
【问题描述】:

如果值恰好是负值,我如何有条件地将样式“color:red”添加到 .CurrentDifference?

谢谢, 棒。

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

【问题讨论】:

    标签: jquery css asp.net-mvc


    【解决方案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> 
    

    请注意,这是非常草率的。我会考虑将这个逻辑放在你的控制器动作中,而不是把条件逻辑放在你的视图中。也许使用 tempdata 甚至在模型中公开一个新字段。

    【讨论】:

    • @J.H. - 对于颜色和 string.empty?
    • 我假设您在我的回答下方指的是我的评论。是的,我会尝试从视图中删除逻辑,并以某种方式在 Controller 操作中应用该逻辑。这样一来,您的视图会更清晰一些,并且在控制器操作中可以比视图中的 标记更容易地遵循调试过程。
    • @J.H. - 是的,我刚才指的是你的评论。谢谢你的洞察力,棒。
    【解决方案2】:

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

    <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>
    

    【讨论】:

      猜你喜欢
      • 2020-04-19
      • 2015-10-06
      • 1970-01-01
      • 2013-09-04
      • 2018-06-25
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      相关资源
      最近更新 更多