1

仅使用 ItemTemplate 时,如何为列表视图行创建交替的背景颜色?我不想使用 AlternateTemplate,因为每次我想更改某些内容时,我都必须编辑它们,而我使用它的目的是创建交替的背景颜色。那么我只能使用 ItemTemplate 有什么办法呢?谢谢!

4

4 回答 4

7

如果您可以将交替颜色视为渐进增强并且并非所有(旧)浏览器都绝对需要,那么您可以使用 CSS n-th 子选择器来应用颜色而不更改 HTML。

如果您的项目中已经有 jQuery(或类似的)并且想要旧浏览器的解决方案,您可以使用它来选择具有 :odd 或 :even 选择器的每一行。

更新(示例)

假设我们正在使用表格行

tr:nth-child(odd) td{  
  background-color: red;  
}

您也可以使用even,2n2n+1. 这同样适用于<li>标签。

更多示例:http ://reference.sitepoint.com/css/pseudoclass-nthchild

于 2011-12-29T17:04:07.350 回答
2

这也可能有效:

使用 ASP.Net ListView 控件交替表行颜色

它使用 ASPX 页面中的<%#样式语法来切换基于 DisplayIndex Mod 2 的类。

该链接上的 C# 和 VB 代码示例也...

于 2011-12-29T18:19:39.970 回答
1

使用 ListView 的 ItemDataBound 事件(如果它有一个像 Repeater 那样的事件)。向您的 ItemTemplate 添加一个 runat="server" 元素,您可以使用该元素通过类设置颜色。在事件中获取对该控件的引用并设置 css 类。

于 2011-12-29T17:05:24.977 回答
1

您是否尝试过使用Repeater 控件,而不是ListView。

您将对模板有更多的控制权,并且可以更轻松地更改交替颜色,而无需使用重复的模板。

于 2011-12-29T18:16:28.183 回答