我需要设计一个交替行颜色的表格。下面是编写代码,但它不起作用。可能是MVC的一些语法问题。请建议。
@for (int i = 1; i <= 10; i++)
{
var rowColor = "D9E6C4";
<tr style="background-color:@rowColor;" >
<td>apoorva</td>
</tr>
if (@rowColor.Equals("#ffffff"))
{
rowColor = "#D9E6C4";
}
else
{
rowColor = "#ffffff";
}
}
答案 0 :(得分:11)
取自http://davidwalsh.name/css-tables-css3-alternate-row-colors
的CSS3示例tr:nth-child(odd) { background-color:#ffffff; }
tr:nth-child(even) { background-color:#D9E6C4; }
答案 1 :(得分:10)
...试
@for (int i = 1; i <= 10; i++)
{
string rowColor;
if(i % 2 == 0)
{
rowColor = "D9E6C4";
}
else
{
rowColor = "ffffff";
}
<tr style="background-color:#@rowColor;" >
<td>apoorva</td>
</tr>
}
答案 2 :(得分:5)
在声明中声明rowColor
。
@{ var rowColor = "D9E6C4"; }
@for (int i = 1; i <= 10; i++)
{
<tr style="background-color:@rowColor;" >
<td>
apoorva
</td>
</tr>
if (@rowColor.Equals("#ffffff"))
{
rowColor = "#D9E6C4";
}
else
{
rowColor = "#ffffff";
}
}
答案 3 :(得分:4)
您应该使用:
if (rowColor.Equals("#ffffff"))
{
rowColor = "#D9E6C4";
}
else
{
rowColor = "#ffffff";
}
另一种方法是使用mod来选择颜色:
<tr style='background-color:@(i%2 == 0 ? "#D9E6C4":"#ffffff" );'>
<td>apoorva</td>
</tr>
答案 4 :(得分:3)
这似乎是一个非常基本的错误:每次循环,你都在设置值。只需在循环外移动初始集:
var rowColor = "D9E6C4";
@for (int i = 1; i <= 10; i++)
{
<tr style="background-color:@rowColor;" >
<td>apoorva</td>
</tr>
if (@rowColor.Equals("#ffffff"))
{
rowColor = "#D9E6C4";
}
else
{
rowColor = "#ffffff";
}
}
编辑:@ jcreamer898建议使用i%2比检查颜色值更好。
答案 5 :(得分:3)
在你的风格中使用css
tr:nth-child(偶数){background:#CCC}
tr:nth-child(odd){background:#FFF}
答案 6 :(得分:2)
<html>
<head>
<title>Example Title</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('tr:even').addClass('alt-row-class');
});
</script>
</head>
<body>...</body>
</html>
然后使用标准css将样式应用于该类:
.alt-row-class { background-color: green; }
引用此前一篇文章 - https://stackoverflow.com/posts/663122/edit
答案 7 :(得分:1)
@{
string rowColor = "#D9E6C4";
<table>
@for (int i = 1; i <= 10; i++)
{
<tr style="background-color:@rowColor;" >
<td>apoorva</td>
</tr>
rowColor = rowColor == "#D9E6C4" ? "#FFFFFF" : "#D9E6C4";
}
</table>
}