C#视图 - 字体颜色

时间:2014-08-04 18:28:32

标签: c# sql razor view

我有一个显示来自数据库/表的数据的视图。如果该字段是某个值,我希望该实例显示为具有红色文本。我试过这个,不幸的是我认为foreach循环(我需要)导致问题。具体来说,它使所有文本变为红色,而不仅仅是我想要的实例。

 <tbody>
          @foreach (var item in Model)
    {      
        var T2stat = @Html.DisplayFor(modelItem => item.T2STATUS).ToString();
        var T3stat = @Html.DisplayFor(modelItem => item.T3STATUS).ToString();     
        <tr>                                               
        <td>
            @Html.DisplayFor(modelItem => item.EXPORT_DATE)
        </td>
            @if ((T2stat != "") && (T2stat != "Exported")) {
                <td><p style="color:red">
            @Html.DisplayFor(modelItem => item.T2STATUS)
        </p></td>
            }
            else{
                <td><p style="color:black">
              @Html.DisplayFor(modelItem => item.T2STATUS)
                    </p></td>  
            }                               
         @if ((T3stat != "") && (T3stat != "Exported")) {
                <td><p style="color:red">
            @Html.DisplayFor(modelItem => item.T3STATUS)
        </p></td>
            }
            else{
                <td><p style="color:black">
              @Html.DisplayFor(modelItem => item.T3STATUS)
                   </p></td>  
            }                               

我将变量定义更改为....

 var T2stat = (item.T2STATUS != null) ? item.T2STATUS.ToString() : String.Empty;
 var T3stat = (item.T3STATUS != null) ? item.T3STATUS.ToString() : String.Empty; 

不幸的是,我仍然有同样的问题,尽管我将黑色指定为文本颜色,但值仍显示为红色。即; “导出”应始终显示为黑色文本,null也为黑色,但它为红色,应仅用于错误消息。

2 个答案:

答案 0 :(得分:0)

我认为您的问题出在这些作业中:

var T2stat = @Html.DisplayFor(modelItem => item.T2STATUS).ToString();
var T3stat = @Html.DisplayFor(modelItem => item.T3STATUS).ToString();     

这将为这些变量分配显示模板的渲染值,而不是数据值。

也许你是这个意思?

var T2stat = (item.T2STATUS != null) ? item.T2STATUS.ToString() : String.Empty;
var T3stat = (item.T3STATUS != null) ? item.T3STATUS.ToString() : String.Empty;     

答案 1 :(得分:0)

试试这个......

<tbody>
    @foreach (var item in Model)
    {   
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.EXPORT_DATE)
            </td>

            <td>
                <p  @((item.T2STATUS == null) || (item.T2STATUS == "Exported") ? "style=\"color:black;\"" : "style=\"color:red;\"")>
                    @Html.DisplayFor(modelItem => item.T2STATUS)
                </p>
            </td>

            <td>
                <p @((item.T3STATUS == null) || (item.T3STATUS == "Exported") ? "style=\"color:black;\"" : "style=\"color:red;\"")>
                    @Html.DisplayFor(modelItem => item.T3STATUS)
                </p>
            </td>
        </tr>
    }
</tbody>

如果您还需要其他任何东西,请告诉我......或者这不会起作用.. :)