CheckBoxList子CSS

时间:2012-10-18 19:15:22

标签: c# asp.net css

目前,我有这个:

<asp:CheckBoxList ID="chkSections" runat="server" onselectedindexchanged="chkSections_SelectedIndexChanged"></asp:CheckBoxList>

...生成这个:

<table border="0" id="ctl00_cpBody_chkSections">
    <tbody><tr>
        <td><input type="checkbox" name="ctl00$cpBody$chkSections$0" id="ctl00_cpBody_chkSections_0"><label for="ctl00_cpBody_chkSections_0">All Sections</label></td>
    </tr><tr>
        <td><input type="checkbox" name="ctl00$cpBody$chkSections$1" id="ctl00_cpBody_chkSections_1"><label for="ctl00_cpBody_chkSections_1">Personal Health Status and Health History</label></td>
    </tr><tr>
        <td><input type="checkbox" name="ctl00$cpBody$chkSections$2" id="ctl00_cpBody_chkSections_2"><label for="ctl00_cpBody_chkSections_2">Physical Activity and Fitness</label></td>
    </tr>
</tbody></table>

问题:我希望生成的所有input字段都有一个特定的类。不想使用jQuery。

2 个答案:

答案 0 :(得分:1)

为什么不在<asp:CheckList>中设置CssClass,在CSS中使用元素选择器?

<asp:CheckList CssClass="ChLst">
.ChLst INPUT
{
    background-color: red;
}

<!-- OR: -->

.ChLst TD
{
    background-color: red;
}

修改
啊,我现在明白了。请参阅此问题:Applying Styles To ListItems in CheckBoxList

您可以添加类属性,而不是添加Style属性。

li.Attributes.Add("class", "chListItem");

编辑2:
再想一想,使用Repeater控件并使自己的自定义解决方案充满乐趣可能会更好。依赖于CheckBoxList然后尝试在jQuery中使用它显然不适合你。

答案 1 :(得分:1)

您还可以使用ListItem的属性在服务器端设置类名:

protected void Page_Load(object sender, EventArgs e)
{
    foreach (ListItem item in chkSections.Items)
        item.Attributes["class"] = "class_item";
}