我试图简单地将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——即使使用扩展方法.

推荐答案

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

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

这样做的好处是完全基于您的UI代码(ASCX或ASPX文件),并且不依赖于JavaScript.

Asp.net相关问答推荐

我可以强制刷新我的样式表文件吗?

如何在现有数据库中创建 ASP.Net Identity 表?

我可以在 .net 核心中使用 Entity Framework 6(非核心)吗?

ASP.NET 如何将控件呈现为 HTML?

SqlBulkCopy 超时

asp.net:与其中的用户控件相比,控件/页面的页面生命周期顺序是什么?

有没有一种简单的方法可以将对象属性转换为字典

用户NT AUTHORITY\NETWORK SERVICE登录失败

有没有办法在外部 javascript 文件中使用<%= someObject.ClientID %>?

将复选框的值传递给 asp.net mvc4 中的控制器操作

使用 JSON.NET 解析 json 字符串

如何在 Visual Studio 2017 中使用 NPM 并安装包?

ASP.NET 上的 WebSockets 教程

有条件地排除 ASP.NET WebForms 中的一个 html 块

如何使div按钮提交其所在的表单?

ASP.NET MVC 和 httpRuntime executionTimeout

ASP.NET - 从静态方法/静态类访问会话?

DataTable 不包含 AsEnumerable 的定义

如何在不遍历每个循环的情况下从字典对象中获取所有键(仅键)

在 ASP.NET 中写入文件以响应后回发不起作用