在我看来,我使用带有模型中对象列表的分部 View ,如下所示:
@foreach (var item in Model.MyObjectList)
{
@Html.Partial("DisplayObject", item)
}
这在我的主视图下形成了一个网格图案,每个对象一行。
我想使用常规方法对它们进行条纹处理,奇数行一种颜色,偶数行另一种颜色。 (例如 this。
通常你会通过某种模计算来做到这一点。
问题是,如果不将元素中的行号传递到局部 View 中,我无法弄清楚如何执行此操作。
有没有更简单的方法? Html.Partial 没有任何我可以 Hook 的 html 属性。
我当然可以在局部周围放置一个表格并以这种方式对其进行条纹处理,但我不想这样做。
最佳答案
如果您可以限制对 CSS3 的支持,您可以使用 :nth-child(odd)
和 :nth-child(even)
规则 - 如本页所示来自 W3C - http://www.w3.org/Style/Examples/007/evenodd.en.html
这些例子展示了如何在 tr
标签上使用它——但它适用于任何你可以应用选择器的东西:
<style type="text/css">
div p:nth-child(odd) { color:red; }
div p:nth-child(even) { color:green; }
</style>
<div>
<p>first</p>
<p>second</p>
<p>third</p>
</div>
关于asp.net-mvc-3 - 在 MVC 3 中为局部 View 着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11208277/