0

目前,我有这个:

<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。

4

2 回答 2

1

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

protected void Page_Load(object sender, EventArgs e)
{
    foreach (ListItem item in chkSections.Items)
        item.Attributes["class"] = "class_item";
}
于 2012-10-18T19:30:46.757 回答
1

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

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

<!-- OR: -->

.ChLst TD
{
    background-color: red;
}

编辑:
啊,我现在明白了。请参阅此问题:将样式应用于 CheckBoxList 中的 ListItems

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

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

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

于 2012-10-18T19:22:39.460 回答