首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET中继器交替行突出显示而不完全展开<alternatingitemtemplate/>

ASP.NET中继器交替行突出显示而不完全展开<alternatingitemtemplate/>
EN

Stack Overflow用户
提问于 2009-05-11 12:08:38
回答 8查看 36.5K关注 0票数 56

我正在尝试完成简单的添加css类到我的<itemtemplate/>的交替行的div中,而不是去包括一个完整的<alternatingitemtemplate/>的开销,这将迫使我在将来保持大量的标记同步。

我已经看到了像http://blog.net-tutorials.com/2009/04/02/how-to-alternate-row-color-with-the-aspnet-repeater-control/这样的解决方案,我很想使用它,但我仍然觉得它“闻起来”不对劲。

还有没有其他人有更易维护、更简单的解决方案?理想情况下,我希望能够这样做:

代码语言:javascript
复制
<asp:repeater id="repeaterOptions" runat="server">
        <headertemplate>
            <div class="divtable">
                <h2>Other Options</h2>
        </headertemplate>
        <itemtemplate>
                <div class="item <%# IsAlternatingRow ? "dark" : "light" %>">

但是我不知道如何实现IsAlternatingRow --即使是使用扩展方法。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-05-11 12:19:49

不需要管理您自己的变量(无论是递增计数器还是布尔值);您可以查看内置的ItemIndex属性是否可以被2整除,并使用它来设置一个css类:

代码语言:javascript
复制
class="<%# Container.ItemIndex % 2 == 0 ? "" : "alternate" %>"

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

票数 130
EN

Stack Overflow用户

发布于 2009-08-13 16:33:29

C#

代码语言:javascript
复制
class="<%# Container.ItemIndex % 2 == 0 ? "" : "alternate" %>"

VB

代码语言:javascript
复制
class="<%# iif(Container.ItemIndex Mod 2 = 0,"","alternate") %>"
票数 17
EN

Stack Overflow用户

发布于 2014-01-21 17:28:47

这对我很有帮助

代码语言:javascript
复制
class='<%# Container.ItemIndex % 2 == 0 ? "" : "alternate" %>'

之前的回答导致了“服务器标签格式不正确”的错误。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/847806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档