0

我想更改复选框列表中所选项目的背景颜色。我试过像,

 CBList1.Items[0].Attributes.Add("style", "background-color: red;");

但是这里复选框和相关文本的背景颜色发生了变化。有没有办法只改变复选框的背景颜色而不改变相关文本的背景颜色?

4

2 回答 2

0

试试下面的代码:

newCkItm.Attributes.Add("id", "alpha");

这样,您可以将所有样式与代码分开,而不必在每次需要调整 CSS 时重新编译等。

CSS 本身看起来像这样:

    #cblCalendarFilter {
    border:none;
    border-collapse:collapse;
}

#cblCalendarFilter td {
    padding:0;
}

#cblCalendarFilter span {
    display:block;
    padding:2px;
}

#cblCalendarFilter #alpha {
    background:red;
}

#cblCalendarFilter #beta {
    background:yellow;
}
于 2012-03-22T11:01:34.523 回答
0

不幸的是,我认为输入标签(当 type=checkbox 时)根本不能与 style 属性一起使用。制作一个新的复选框输入并自己尝试。

所有asp:CheckBoxList/asp:ItemListasp:CheckBox所做的都是为输入和标签生成 HTML,并将它们包装在span标签中。该 span 标签是应用样式的地方。

如果对复选框分组不是一个大问题,您可以使用asp:CheckBox没有属性的单个控件,Text并在标签之外写入相关文本。

<asp:CheckBox ID="cb1" runat="server" />associated text 1
<asp:CheckBox ID="cb2" runat="server" />associated text 2
<asp:CheckBox ID="cb3" runat="server" />associated text 3

但是,您仍然必须调用cb1.Attributes并且不cb1.InputAttributes应用该样式。

于 2012-03-22T11:51:34.717 回答