Alternar estilos css sin repetir el código en AlternateItemTemplate

Podemos reducir este código, en el que tendríamos que duplicar los elementos en el Item y en el AlternateItem:


                <ItemTemplate>
                    <div class="impar">
                        <asp:Label ID="lblNombrePase" Text="Pase:" runat="server" />
                        <asp:Label Text="" runat="server" />
                        <asp:Label ID="lblFecha" Text="Fecha:" runat="server" />
                        <asp:Label Text="" runat="server" />
                    </div>
                </ItemTemplate>
                <AlternateItemTemplate>
                    <div class="impar">
                        <asp:Label ID="lblNombrePase" Text="Pase:" runat="server" />
                        <asp:Label Text="" runat="server" />
                        <asp:Label ID="lblFecha" Text="Fecha:" runat="server" />
                        <asp:Label Text="" runat="server" />
                    </div>
                </AlternateItemTemplate>

Y lo podemos dejar así, creando la clase dinamicamente en función del indice del elemento. Y creando solo una vez el lenguaje de marcado.


                <ItemTemplate>
                    <div class="%#(IIf((Container.DataItemIndex Mod 2) = 1, "impar", "par")) %>">
                        <asp:Label ID="lblNombrePase" Text="Pase:" runat="server" />
                        <asp:Label Text="" runat="server" />
                        <asp:Label ID="lblFecha" Text="Fecha:" runat="server" />
                        <asp:Label Text="" runat="server" />
                    </div>
                </ItemTemplate>
              

Esto es válido para todos los controles repetidores de este tipo.