Установить класс, используя Eval в привязке данных элемента

У меня есть элемент Repeater, в котором есть элементы tr, подобные этому. Я хочу установить класс CSS в соответствии с индексом элемента в качестве альтернативного элемента.

Мой код дизайна такой

    <ItemTemplate>
            <tr id='<%# Eval("RegNum").ToString()%>' class='<%# Eval("RowClass").ToString()%>'>

Данные элемента привязаны как это, но не работают: (Это неправильно)

        if (e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataBinder.Eval("RowClass", "bgBlack");
        }
        else
        {
            DataBinder.Eval("RowClass", "bgWhite");
        }

где bgWhite и bgBlack - класс css.

Подскажите, как этого добиться.

1 ответ

Решение

Вы можете увидеть, делится ли встроенное свойство ItemIndex на два, и использовать его для установки класса css:

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

Преимущество этого состоит в том, что он полностью основан на вашем коде пользовательского интерфейса (ascx или aspx) и не зависит от JavaScript.

Пожалуйста, смотрите ссылку ниже

Подсветка альтернативных строк в ретрансляторе ASP.NET без полного разнесения ;

Другие вопросы по тегам