Установить класс, используя 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 без полного разнесения