如何在Razor视图中改进我的代码以根据文本内容更改文本的颜色

时间:2012-05-27 22:55:23

标签: asp.net-mvc-3 razor

我在剃刀视图中有以下代码,可根据texty内容更改文本颜色: -

string status = ViewData[vlr.LabTestID.ToString()].ToString();

              if (status.ToUpper().StartsWith("Erro".ToUpper()))
                {
        <td style="color: #b30000">
       @status
        </td>
                }
             else   if (status.ToUpper().StartsWith("With".ToUpper()))
                {
        <td style="color: #6b9e52">
        @status
        </td>}
              else  if (status.ToUpper().StartsWith("Below".ToUpper()))
                {
        <td style="color: #b30000">
        @status
        </td>}
             else   if (status.ToUpper().StartsWith("Above".ToUpper()))
                {
        <td style="color: #b30000">
        @status
        </td>}
              else  if (status.ToUpper().StartsWith("Cannot".ToUpper()))
                {
        <td style="color: #5c87b2">
        @status
        </td>}
             }

但有没有办法使用比上述更可靠,更简单的方法来执行相同的功能? BR

1 个答案:

答案 0 :(得分:3)

您可以为每种可能性定义CSS样式,然后让它完成工作。

<强>剃刀

<td class="@status.ToUpper()">
@status
</td>

<强> CSS

.ERRO
{
    color: #6b9e52;
}

.WITH
{
    color: #b30000;
}