仅使用 ItemTemplate 时,如何为列表视图行创建交替的背景颜色?我不想使用 AlternateTemplate,因为每次我想更改某些内容时,我都必须编辑它们,而我使用它的目的是创建交替的背景颜色。那么我只能使用 ItemTemplate 有什么办法呢?谢谢!
问问题
4756 次
4 回答
7
如果您可以将交替颜色视为渐进增强并且并非所有(旧)浏览器都绝对需要,那么您可以使用 CSS n-th 子选择器来应用颜色而不更改 HTML。
如果您的项目中已经有 jQuery(或类似的)并且想要旧浏览器的解决方案,您可以使用它来选择具有 :odd 或 :even 选择器的每一行。
更新(示例)
假设我们正在使用表格行
tr:nth-child(odd) td{
background-color: red;
}
您也可以使用even
,2n
或2n+1
. 这同样适用于<li>
标签。
更多示例:http ://reference.sitepoint.com/css/pseudoclass-nthchild
于 2011-12-29T17:04:07.350 回答
2
这也可能有效:
它使用 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 回答