ASP.NET repeater alternate row highlighting without full blown <alternatingitemtemplate/>
asp.net, c#, data-binding, extension-methods, repeater
Solution
There is no need to manage your own variable (either an incrementing counter or a boolean); you can see if the built-in `ItemIndex` property is divisible by two, and use that to set a css class:
class="<%# Container.ItemIndex % 2 == 0 ? "" : "alternate" %>"
This has the benefit of being completely based in your UI code (ascx or aspx file), and doesn't rely on JavaScript.
Problem
I'm trying to accomplish simply adding a css class to a div on alternate rows in my `<itemtemplate/>` without going to the overhead of including a full blown `<alternatingitemtemplate/>` which will force me to keep a lot of markup in sync in the future. I've seen a solution such as http://blog.net-tutorials.com/2009/04/02/how-to-alternate-row-color-with-the-aspnet-repeater-control/ which I'm tempted to use but this still doesn't "smell" right to me. Has anyone else got a more maintainable and straightforward solution? Ideally I'd like to be able to do something like: ``` <asp:repeater id="repeaterOptions" runat="server"> <headertemplate> <div class="divtable"> <h2>Other Options</h2> </headertemplate> <itemtemplate> <div class="item <%# IsAlternatingRow ? "dark" : "light" %>"> ``` But I can't figure out how to implement `IsAlternatingRow` - even with extension methods.