我有一个基于数据库中的信息生成的表。如何动态更改背景,假设重复== 1然后<td>repeat</td>
应该有红色背景。
while (reader.Read()) {
int event_id = reader.GetInt32(0);
string text = reader.GetString(1);
DateTime eventStart = reader.GetDateTime(2);
DateTime eventEnd = reader.GetDateTime(3);
int repeat = reader.GetInt32(4);
string Days = reader.GetString(5);
//string Title = reader.GetString(2);
htmlStr += "<tr><td BGCOLOR='#ffff00'>" + event_id + "</td><td>" + eventStart +
"</td><td>" + eventEnd + "</td><td>" + repeat + "</td><td>" + Days +
"</td></tr>";
}
答案 0 :(得分:0)
最好的方法是使用gridview并对读取器进行数据绑定,然后在数据绑定事件管理代码中将css应用于特定元素。
将此链接用于gridview databind - http://www.aspsnippets.com/Articles/How-to-bind-GridView-with-DataReader-in-ASPNet-using-C-and-VBNet.aspx
将此链接用于rowdatabound - http://www.dotnetgallery.com/kb/resource17-RowDatabound-event-tips-and-tricks-in-Gridview-control.aspx
答案 1 :(得分:0)
如果您希望坚持使用字符串创建表格,可以使用一些辅助方法,如
private string SwitchColor(string oldColor)
{
string color = "#ffff00";
if (oldColor == color)
color = "#ff0000";
return color;
}
然后在黄色和红色之间切换,例如,使用像这样的变量
string color = "#ffff00";
while (reader.Read()) {
color = SwitchColor(color);
htmlStr += "<tr><td BGCOLOR='" + color + "'>".....
}
您还可以在列上添加类名,而不是添加bgcolor属性,然后使用css处理它。