尝试使用内联 css 在 c# 中根据偶数/奇数来交替颜色
sb.AppendLine("<table width='100%' border='0' align='center' cellpadding='5' cellspacing='0' style='font-family:arial,helvetica,sans-serif;'><tbody><tr><td style='padding:5px;background-color:rgb(169, 169, 169);color:white;'>Filenames</td></tr>");
foreach (var item in logList)
{
sb.AppendLine("<tr><td style='background-color:#55bada;'>" + Path.GetFileName(item) + "</td></tr>");
sb.Append("</tr></tbody></table>");
}
我已经尝试了以下但它似乎复制了数据并且没有均匀地移动着色
sb.AppendLine("<table width='100%' border='0' align='center' cellpadding='5' cellspacing='0' style='font-family:arial,helvetica,sans-serif;'><tbody><tr><td style='padding:5px;background-color:rgb(169, 169, 169);color:white;'>Filenames</td></tr>");
int count = 0;
foreach (var item in logList)
{
for (count = 0; count <= logList.Count; count ++)
{
if (count % 2 == 0)
{
count += 1;
sb.AppendLine("<tr><td style='background-color:#bada55;'>" + Path.GetFileName(item) + "</td></tr>");
}
else
{
count -= 1;
sb.AppendLine("<tr><td style='background-color:#55bada;'>" + Path.GetFileName(item) + "</td></tr>");
}
}
}
sb.Append("</tr></tbody></table>");
最佳答案
你无缘无故地做了一个额外的循环。迭代您的元素一次并为每个元素增加一次计数器。
int count = 0;
foreach (var item in logList)
{
if (count % 2 == 0)
{
sb.AppendLine("<tr><td style='background-color:#bada55;'>" + Path.GetFileName(item) + "</td></tr>");
}
else
{
sb.AppendLine("<tr><td style='background-color:#55bada;'>" + Path.GetFileName(item) + "</td></tr>");
}
count++;
}
关于C# .NET 电子邮件客户端基于偶数/奇数的备用 tr 行颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25649404/