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也是黑色的,但它是红色的,应该只用于错误信息。
我认为你的问题出在这些作业上:
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>
如果你还需要什么,请告诉我。或者这行不通……:)