Программно управлять ListView CSS

#asp.net #css #listview

#asp.net #css #listview

Вопрос:

У меня есть два ListView в магазине электронной коммерции, один для товаров, а другой для корзины. Я добавляю товары в корзину с помощью командной строки LinkButton в products ListView. Каждый раз, когда я добавляю товар (строку) в корзину, я получаю двойную границу между строками.

Итак, я установил CSS только для верхней, левой и правой границ в моей таблице стилей CSS. Что я хочу сделать, так это добавить нижнюю границу программно в исходном коде. Делаю ли я это в обработчике ItemCreated и какой синтаксис я бы использовал?

Комментарии:

1. Почему вы хотите добавить нижнюю границу динамически вместо того, чтобы использовать :last-child селектор и добавлять нижнюю границу таким образом?

2. Ненадежно во всех браузерах…

Ответ №1:

Установите border-bottom с помощью вашего существующего класса, затем добавьте новый класс в RowIndex 0 и установите свойство border-top для нового класса.

В ItemTemplate:

     <tr class='<%# (Container.DataItemIndex == 0 ? " ClassName" : null) %>'>
  

Ответ №2:

Вероятно, проще определить, когда вы находитесь на первом элементе и добавляете верхнюю панель, чем определить, когда вы находитесь на последнем элементе и добавляете нижнюю панель. Вы могли бы установить, что переменная частного класса начинается с True . Затем в вашем событии ItemDataBound, если переменная имеет значение true, добавьте first или что-то в этом роде к элементу и установите переменной значение False , чтобы все остальные элементы пропускали код.