C#.NET电子邮件客户端基于偶数/奇数的备用tr行颜色

时间:2014-09-03 16:31:39

标签: c# html css

尝试使用内联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>");

Check Even Odd Wrong

2 个答案:

答案 0 :(得分:3)

你无缘无故地做了一个额外的循环。迭代您的物品一次,每个项目增加一次计数器。

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++;
}

答案 1 :(得分:0)

使用CSS考虑过更简单的事情:

<style>
tr {
    color: blue;
}
tr:nth-child(odd) {
    color: green;
}
tr:nth-child(even) {
    color: red;
}
 </style>