Применение стилей к элементам списка в CheckBoxList

Как можно применить стили к CheckBoxList ListItems. В отличие от других элементов управления, таких как Repeater, где вы можете указать <ItemStyle>, вы не можете указать стиль для каждого отдельного элемента управления.

Есть ли какая-то работа?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
25
0
57 168
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Кажется, лучший способ сделать это - создать новый класс CssClass. ASP.NET переводит CheckBoxList в структуру таблицы.

Используя что-то вроде

Style.css

.chkboxlist td 
{
    font-size:x-large;
}

Page.aspx

<asp:CheckBoxList ID = "chkboxlist1" runat = "server" CssClass = "chkboxlist" />

сделает трюк

Это, конечно, влияет на все элементы списка, чтобы повлиять на один элемент списка, вам нужно добавить атрибуты к элементу списка по мере его создания.

Cyberherbalist 19.09.2008 23:05

Спасибо за чаевые! Я хотел больше о том, как повторитель может применить стиль к каждому элементу, но это, безусловно, полезно :)

Andrew Burgess 19.09.2008 23:33
Ответ принят как подходящий

Вы можете программно добавлять атрибуты в ListItems следующим образом.

Допустим, у вас есть CheckBoxList и вы добавляете ListItems. Вы можете добавлять атрибуты по ходу дела.

ListItem li = new ListItem("Richard Byrd", "11");
li.Selected = false;
li.Attributes.Add("Style", "color: red;");
CheckBoxList1.Items.Add(li);

Это сделает цвет текста элемента списка красным. Экспериментируйте и получайте удовольствие.

Помимо ответа Эндрю ...

В зависимости от того, какие другие атрибуты вы добавляете в CheckBoxList или RadioButtonList или что-то еще, ASP.Net будет отображать вывод с использованием разных структур. Например, если вы установите RepeatLayout = "Flow", он не будет отображаться как ТАБЛИЦА, поэтому вы должны быть осторожны с тем, какие селекторы потомков вы используете в своем файле CSS.

В случаях наиболее вы можете просто выполнить «Просмотр исходного кода» на своей отображаемой странице, возможно, в нескольких разных браузерах, и выяснить, что делает ASP.Net. Однако существует опасность, что новые версии серверных элементов управления или разные браузеры будут отображать их по-другому.

Если вы хотите стилизовать определенный элемент списка или набор элементов списка по-другому, не добавляя атрибуты в код программной части, вы можете использовать селекторы атрибутов CSS. Единственный недостаток в том, что они не поддерживаются в IE6. jQuery полностью поддерживает селекторы атрибутов стиля CSS 3, так что вы, вероятно, также можете использовать его для более широкой поддержки браузеров.

В этом случае был бы полезен пример стилизации CSS с использованием селекторов атрибутов CSS.

Zeek2 26.11.2020 17:55

Вы также можете добиться этого в разметке.

<asp:ListItem Text = "Good" Value = "True" style = "background-color:green;color:white" />
<br />
<asp:ListItem Text = "Bad" Value = "False" style = "background-color:red;color:white" />

Слово Style будет подчеркнуто с предупреждением, что Атрибут style не является допустимым атрибутом элемента ListItem., но элементы все равно отформатированы по желанию.

+ 1. Это тоже круто. Хотя позже я бы побеспокоился, что они сделают так, чтобы этот обходной путь больше не работал.

Cyberherbalist 15.03.2012 00:36

@Cyberherbalist Пока элементы управления ASP.NET превращаются в элементы HTML в браузере, обходной путь стиля будет работать. Другими словами, я не вижу, чтобы он когда-либо ломался.

TylerH 23.04.2019 19:14

public bool Repeater_Bind()
{
    RadioButtonList objRadioButton = (RadioButtonList)eventArgs.Item.FindControl("rbList");
    if (curQuestionInfo.CorrectAnswer != -1) {
        objRadioButton.Items[curQuestionInfo.CorrectAnswer].Attributes.Add("Style", "color: #b4fbb1;");
    }
}

У вас даже могут быть разные стили шрифта и цвет для каждого слова.

<asp:ListItem Text = "Other (<span style=font-weight:bold;>please </span><span>style=color:Red;font-weight:bold;>specify</span>):" Value = "10"></asp:ListItem>

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