使用viewBag更改内联颜色

时间:2016-03-28 14:29:10

标签: css asp.net-mvc asp.net-mvc-5

@model MSDiary.Models.Saldo
<h3>O seu saldo actual: <span style="color:@ViewBag.color">@obtemSaldo()</span></h3>

@functions 
{
    HtmlString obtemSaldo()
    {
        decimal saldo = 0;
        if (Model != null)
        {
            foreach (var item in Model.Despesas)
            {
                saldo -= item.DespesaValor;
            }
            foreach (var item in Model.Rendimentos)
            {
                saldo += item.RendimentoValor;
            }
            Model.valor = saldo;
            if(saldo < 0)
            {
                ViewBag.color = "red";
            }
            else
            {
                ViewBag.color = "green";
            }
        }
        return new HtmlString(saldo.ToString());
    }
}

我想根据saldo的值来表示平衡,当余额<0时获得红色,当&gt;时获得绿色。 0我尝试使用viewBag根据余额的结果设置颜色,然后将其设置为调用函数的位置,但它不起作用,如果有人可以给我一个tipe我欣赏:)

2 个答案:

答案 0 :(得分:0)

您在将值分配给.border-gold { border-color: #f4cc55 !important; } .color-red { color: #FF0000; } 之前设置颜色属性。 尝试在ViewBag之后编写<h3>代码,如下所示:

@functions

答案 1 :(得分:0)

这样解决了我自己:

@model MSDiary.Models.Saldo



@helper obtemSaldo()
{
    decimal saldo = 0;
    if (Model != null)
    {
        foreach (var item in Model.Despesas)
        {
            saldo -= item.DespesaValor;
        }
        foreach (var item in Model.Rendimentos)
        {
            saldo += item.RendimentoValor;
        }
        Model.valor = saldo;
        if(saldo < 0)
        {
            ViewBag.color = "red";
        <p style="color:red">@saldo</p>
}
else
{
    ViewBag.color = "green";
   <p style="color:green">@saldo</p>
}
}

}

<h3>O seu saldo actual: <span>@obtemSaldo()</span></h3>