c#视图-字体颜色

本文关键字:颜色 字体 视图 | 更新日期: 2023-09-27 18:16:24

我有一个视图,显示数据从数据库/表。如果字段是某个值,我希望该实例显示为具有红色文本。我已经尝试过了,不幸的是,我认为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; 

不幸的是,我仍然有同样的问题,值出现红色,尽管我分配黑色作为文本颜色。也就是说;"Exported"应该总是显示为黑色文本,null也是黑色的,但它是红色的,应该只用于错误信息。

c#视图-字体颜色

我认为你的问题出在这些作业上:

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;     

试试这个....

<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>
如果你还需要什么,请告诉我。或者这行不通……:)