c# - ASP.NET 中继器交替行突出显示没有完全成熟 <alternatingitemtemplate/>

标签 c# asp.net data-binding extension-methods repeater

我试图完成简单地将 css 类添加到我 <itemtemplate/> 中交替行上的 div无需包括一个完整的<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 - 即使使用扩展方法。

最佳答案

无需管理自己的变量(递增计数器或 bool 值);你可以看看内置的ItemIndex属性可以被二整除,并使用它来设置一个 css 类:

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

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

关于c# - ASP.NET 中继器交替行突出显示没有完全成熟 <alternatingitemtemplate/>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/847806/

相关文章:

c# - c#如何在asp.net网页中显示C程序错误

wpf - 在 DataTemplate DataType 中使用命名空间

c# - 更改 ToolStripSeparator 控件的 BackColor

c# - 如何让 InvariantCulture 将逗号识别为小数点分隔符?

mysql - 在vb.net中向mysql数据库添加记录

java - 将 Swing 组件绑定(bind)到 Java 对象

c# - WP7 - c# - silverlight - 在页面之间传递 XML 数据

c# - 我可以将 Math.NET 运行时与 .NET 2.0 或 .NET 3.5 应用程序一起使用吗?

c# - 使用 C# 将字符串列表写入文本文件,添加为邮件的附件

asp.net - OneDrive for Business :"invalid_request","error_description":"AADSTS90014: The request body must contain the following parameter: ' grant_type