Вопрос

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

Есть ли какая-то обходная дорога?

Это было полезно?

Решение

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

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

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

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

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

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

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

Стиль.css

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

Страница.aspx

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

сделает свое дело

В дополнение к ответу Эндрю...

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

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

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

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

<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' не является допустимым атрибутом элемента 'ListItem'., но элементы в любом случае форматируются по желанию.

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

<asp:ListItem Text="Other (<span style=font-weight:bold;>please </span><span>style=color:Red;font-weight:bold;>specify</span>):" Value="10"></asp:ListItem>
public bool Repeater_Bind()
{
    RadioButtonList objRadioButton = (RadioButtonList)eventArgs.Item.FindControl("rbList");
    if (curQuestionInfo.CorrectAnswer != -1) {
        objRadioButton.Items[curQuestionInfo.CorrectAnswer].Attributes.Add("Style", "color: #b4fbb1;");
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top