ASP.NET中继器替代行高亮显示,而不完全显示<AlternatingitemTemplate/>?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (25)

我试图简单地将CSS类添加到<itemtemplate/>而不去到头顶,包括一个完整的<alternatingitemtemplate/>这将迫使我在未来保持很多标记的同步。

还有其他人有一个更易于维护和更直接的解决方案吗?理想情况下,我希望能够做以下事情:

<asp:repeater id="repeaterOptions" runat="server">
        <headertemplate>
            <div class="divtable">
                <h2>Other Options</h2>
        </headertemplate>
        <itemtemplate>
                <div class="item <%# IsAlternatingRow ? "dark" : "light" %>">

但我想不出如何实现IsAlternatingRow-即使采用扩展方法。

提问于
用户回答回答于

不需要管理自己的变量(无论是递增计数器还是布尔值);可以看到内置的ItemIndex属性可被二除,并使用该属性设置CSS类:

class="<%# Container.ItemIndex % 2 == 0 ? "" : "alternate" %>"

这样做的好处是完全基于UI代码(AScX或ASPX文件),而不依赖于JavaScript。

用户回答回答于

C#

class="<%# Container.ItemIndex % 2 == 0 ? "" : "alternate" %>"

VB

class="<%# iif(Container.ItemIndex Mod 2 = 0,"","alternate") %>"

扫码关注云+社区

领取腾讯云代金券