asp.net-mvc-3 - 在 MVC 3 中为局部 View 着色

标签 asp.net-mvc-3 css

在我看来,我使用带有模型中对象列表的分部 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/

相关文章:

javascript - 在不转换 `height` 属性的情况下折叠展开动画?

javascript - 如何使用 JavaScript 淡出/淡入背景图像?

asp.net-mvc-3 - 如何将现有文件夹及其所有子文件夹和内容添加到解决方案?

css - .NET MVC3 : Prevent 404 for missing CSS files? 或者在编写 HTML 之前确保文件存在?

asp.net - 如何使用 HTML5 和 MVC3 扫描二维码?

html - ASP.NET 在图像 Url 属性中动态设置主题名称

html - 我的 CSS 动画在 iOS 中不工作

javascript - 如何使用Javascript检测浏览器的HTTP请求?

asp.net-mvc-3 - MVC 3 Webgrid 使整行可点击

css - "Flatten"CSS 到 HTML