Asp.net mvc MVC Razor中的Foreach循环计数器
我试图实现的是将表上的一个交替行设置为不同的CSS样式 我的控制器返回一个简单列表,并通过ViewBag将其传递给视图 我的查看代码如下:Asp.net mvc MVC Razor中的Foreach循环计数器,asp.net-mvc,razor,asp.net-mvc-5,Asp.net Mvc,Razor,Asp.net Mvc 5,我试图实现的是将表上的一个交替行设置为不同的CSS样式 我的控制器返回一个简单列表,并通过ViewBag将其传递给视图 我的查看代码如下: @{ int _recordCount = 1; foreach (var _oEstimateDetails in ViewBag.EstimateDetailData) { if (_recordCount == 1) { <tr class="EstimateDeta
@{
int _recordCount = 1;
foreach (var _oEstimateDetails in ViewBag.EstimateDetailData)
{
if (_recordCount == 1)
{
<tr class="EstimateDetailDataRow">
}
if (_recordCount == 1)
{
</tr><tr class="EstimateDetailDataAlternateRow">
_recordCount = 0;
}
</tbody>
<td class="EstimateDetailData">
@_oEstimateDetails.EstimateLineDescription
</td>
<td class="EstimateQuantityData">
@_oEstimateDetails.EstimateLineQuantity
</td>
<td class="EstimateRateData">
@_oEstimateDetails.EstimateLineRate
</td>
<td class="EstimateLineTotalData">
@(_oEstimateDetails.EstimateLineQuantity * _oEstimateDetails.EstimateLineRate)
</td>
</tr>
_recordCount = _recordCount + 1;
}
}
@{
int _recordCount=1;
foreach(ViewBag.EstimateDetailData中的var_oEstimateDetails)
{
如果(_recordCount==1)
{
}
如果(_recordCount==1)
{
_记录计数=0;
}
@_oEstimateDetails.EstimateLineDescription
@_oEstimateDetails.EstimateLineQuantity
@_oEstimateDetails.EstimateLineRate
@(_oEstimateDetails.EstimateLineQuantity*_oEstimateDetails.EstimateLineRate)
_recordCount=_recordCount+1;
}
}
因为这是我第五次尝试弄明白这一点,我就要把我的头发拔出来了。任何帮助都将不胜感激。假设
在编程代码之前就开始了,我想您已经提前结束了。这里是imo应该使用的代码片段:<tbody>
@{
for(int i =0; i < ViewBag.EstimateDetailData.Count(); i++)
{
var _oEstimateDetails = ViewBag.EstimateDetailData.ElementAt(i);
<tr class="@(i % 2 == 0 ? "EstimateDetailDataRow" : "EstimateDetailDataAlternateRow")">
<td class="EstimateDetailData">
@_oEstimateDetails.EstimateLineDescription
</td>
<td class="EstimateQuantityData">
@_oEstimateDetails.EstimateLineQuantity
</td>
<td class="EstimateRateData">
@_oEstimateDetails.EstimateLineRate
</td>
<td class="EstimateLineTotalData">
@(_oEstimateDetails.EstimateLineQuantity * _oEstimateDetails.EstimateLineRate)
</td>
</tr>
}
}
</tbody>
@{
对于(int i=0;i
这方面的一个选项是jQuery
如果您已经在代码库中包含jQuery,请尝试:
这是别人(不是我)开发的代码
例如,请参见:
$(文档).ready(函数(){
$(“table>tbody tr:odd”).css(“背景色”,“#f7f7”);
})
您可以使用javascript和css实现这一点:IIRC将为您实现这一点,此外,您还可以使用纯CSS3实现这一点。(:第n个子选择器)也。。。那是命名标准。那是什么?@Mariusz-tbody标签在这个混乱之前的表的开头:)不知道为什么这么晚才有人投反对票,没有解释。截至2019年5月12日,仍有一次净追加投票。我不再那么在意我的声誉点,但这仍然有点令人困惑……我没有否决你的意见,但将jQuery称为一种“典型”的做类似事情的方式对我来说似乎是错误的。它需要客户端脚本执行加上一个完整的库,不尊重原始的服务器端方法(这更好),而且总体上比使用纯CSS(比如:n个子(2n)
选择器)更复杂。希望这能有所帮助。我编辑这篇文章是为了说一个更通用的“一个选项是jQuery”。因此,它不再说“典型”。我得到了这个特定情况下的jQuery示例,所以我认为它是典型的,但我可以看到jQuery不一定是典型的。似乎有些代码库使用它,有些不。。。
<script type="text/javascript">
$(document).ready(function () {
$("table > tbody tr:odd").css("background-color", "#F7F7F7");
})
</script>