You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中根据条件设置<td>标签内值的显示颜色?

解决方案

你可以在字符串插值中嵌入三元条件运算符,根据字段值动态生成<td>标签的style属性,实现需求。具体修改如下:

修改后的完整代码

// 推荐用StringBuilder优化字符串拼接效率,数据量大时效果更明显
StringBuilder aa = new StringBuilder("<html> <style> table, th, td { border: 1px solid black; border-collapse: collapse; }</style><body> " +
                 @"
            <table style='width: 100%'>
           <tr>
              <th>Engine</th>
             <th>Risk(Torque)</th>
             <th>Risk(Flow)</th>
             <th>Risk(Power)</th>
           </tr>");
        foreach (var item in valuesRodBreak)
        {
            aa.Append($@"
                  <tr>
                   <td>{item.Engine}</td>
                   <td{(item.Torque.Equals("low", StringComparison.OrdinalIgnoreCase) ? " style='background-color:green'" : "")}>{item.Torque}</td>
                   <td{(item.Flow.Equals("low", StringComparison.OrdinalIgnoreCase) ? " style='background-color:green'" : "")}>{item.Flow}</td>
                   <td{(item.Power.Equals("low", StringComparison.OrdinalIgnoreCase) ? " style='background-color:green'" : "")}>{item.Power}</td>
                  </tr>
                ");
        }
        aa.Append(@"</table></body></html>");

关键逻辑说明

  • 三元运算符condition ? trueValue : falseValue会判断字段值是否为"low"(不区分大小写),满足条件则添加背景色样式,否则不添加
  • 用StringComparison.OrdinalIgnoreCase是为了兼容"Low"、"LOW"等不同大小写的输入,如果只需要严格匹配小写"low",可以改为item.Torque == "low"
  • 替换原有的字符串+=为StringBuilder.Append,避免频繁创建新字符串对象,提升代码性能

内容的提问来源于stack exchange,提问作者emrebalci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 19:35:16