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

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

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

我试图在我的交替行上简单地将一个css类添加到div上,<itemtemplate/>而不用担心包含全面的吹动<alternatingitemtemplate/>,这将迫使我在将来保持很多标记同步。

我已经看到了解决方案,如http://blog.net-tutorials.com/2009/04/02/how-to-alternate-row-color-with-the-aspnet-repeater-control/我敢试图使用,但这仍然没有“闻到”权利给我。

其他人是否有更可维护和直接的解决方案?理想情况下,我希望能够做到这样的事情:

<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") %>"

扫码关注云+社区