我在ItemTemplate
的{{1}}中有一个相当复杂的标记,并且asp:Repeater
的标记也相同。我不想复制标记。这可以通过Repeater进行吗?
我正在构建的列表不支持排序/编辑/添加,实际上是一个项目列表。由于我使用的是ASP.NET 4.0,您是否建议使用AlternatingItemTemplate
的备用控件(同样,我不想在您建议的控件中复制标记)
谢谢。
答案 0 :(得分:2)
有什么原因让AlternatingItemTemplate而不是完全跳过它?这样你只能有一个模板,ItemTemplate以相同的方式显示奇数/偶数项。它们之间有什么区别吗?
还要记住,ItemTemplate
可以使用Container.DataItemIndex
(例如CssStyle='<# Container.DataItemIndex % 2 == 0 ? "ItemStyle" : "AlternatingItemStyle"' #>
答案 1 :(得分:1)
有两种选择:
使用您想要的标记创建一个用户控件,并添加一个布尔属性AltRow
,用于确定如何显示该行。
使用javascript / jquery / CSS实现备用行样式并完全忽略AlternatingItemTemplate。
答案 2 :(得分:1)
TR的内嵌页码:
<tr class="<%# (Container.ItemIndex % 2 == 0) ? "AltRowStyle" : "" %>">
具有“caseTable”类的表的CSS代码
.caseTable tr.AltRowStyle td
{
background-color: #FAF8DC;
}