C# 如何以编程方式将CSS类添加到ASP.NET复选框列表html表项

C# 如何以编程方式将CSS类添加到ASP.NET复选框列表html表项,c#,html,css,asp.net,C#,Html,Css,Asp.net,如何以编程方式(即动态地将CSS类添加到ASP.NET CheckBoxlist html表元素中) 例如,我希望下面从浏览器视图源查看的表、tr、td标记输出包含CSS样式 <table id="CheckBoxList1" class="myCss1 myCss1row myCss1col myCss1table__checkbox--row"> <tr> <td><input id="CheckBoxList1_0" type="check

如何以编程方式(即动态地将CSS类添加到ASP.NET CheckBoxlist html表元素中)

例如,我希望下面从浏览器视图源查看的表、tr、td标记输出包含CSS样式

<table id="CheckBoxList1" class="myCss1 myCss1row myCss1col myCss1table__checkbox--row">
<tr>
    <td><input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1$0" >value="Item1" /><label for="CheckBoxList1_0">MyItem1</label></td>
</tr><tr>
    <td><input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1$1" >value="Item2" /><label for="CheckBoxList1_1">MyItem2</label></td>
</tr><tr>
    <td><input id="CheckBoxList1_2" type="checkbox" name="CheckBoxList1$2" >value="Item3" /><label for="CheckBoxList1_2">MyItem3</label></td>
</tr><tr>
    <td><input id="CheckBoxList1_3" type="checkbox" name="CheckBoxList1$3" >value="Item4" /><label for="CheckBoxList1_3">MyItem4</label></td>
</tr>
-==========在浏览器视图源中查看时所需的输出=================

<table id="CheckBoxList1" class="myCss1 myCss1row myCss1col myCss1table__checkbox--row">
<tr class="myCss1row">
<td class="myCss1col"><input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1$0" value="Item1" /><label for="CheckBoxList1_0">BitBucket</label></td>
</tr><tr class="myCss1row">
    <td class="myCss1col"><input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1$1" value="Item2" /><label for="CheckBoxList1_1">Confluence</label></td>
</tr><tr class="myCss1row">
    <td class="myCss1col"><input id="CheckBoxList1_2" type="checkbox" name="CheckBoxList1$2" value="Item3" /><label for="CheckBoxList1_2">FECRU</label></td>
</tr><tr class="myCss1row">
    <td class="myCss1col"><input id="CheckBoxList1_3" type="checkbox" name="CheckBoxList1$3" value="Item4" /><label for="CheckBoxList1_3">JIRA</label></td>
</tr>
-======================================================================

<table id="CheckBoxList1" class="myCss1 myCss1row myCss1col myCss1table__checkbox--row">
<tr class="myCss1row">
<td class="myCss1col"><input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1$0" value="Item1" /><label for="CheckBoxList1_0">BitBucket</label></td>
</tr><tr class="myCss1row">
    <td class="myCss1col"><input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1$1" value="Item2" /><label for="CheckBoxList1_1">Confluence</label></td>
</tr><tr class="myCss1row">
    <td class="myCss1col"><input id="CheckBoxList1_2" type="checkbox" name="CheckBoxList1$2" value="Item3" /><label for="CheckBoxList1_2">FECRU</label></td>
</tr><tr class="myCss1row">
    <td class="myCss1col"><input id="CheckBoxList1_3" type="checkbox" name="CheckBoxList1$3" value="Item4" /><label for="CheckBoxList1_3">JIRA</label></td>
</tr>
下面是代码片段:

<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="ToolName" DataValueField="ToolName" CssClass="myCss1 myCss1row myCss1col myCss1table__checkbox--row"">
</asp:CheckBoxList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" SelectCommand="SELECT [ToolName], [ToolCost], [PDate], [ToolURL], [ToolLink], [ToolUrl] FROM [ToolInfo]"></asp:SqlDataSource>
感谢您提前回复

在列表数据绑定后,您可以访问代码隐藏中的每个项,并且可以操作每个项的类属性

这将不允许您将类应用于每个特定的DOM元素,而只允许应用于顶级元素。为了将样式应用于子DOM元素,我建议使用CSS选择器:

.class-applied td {
    /* style definition */
}
在列表被数据绑定后,您可以访问代码隐藏中的每个项,并且可以操作每个项的类属性

这将不允许您将类应用于每个特定的DOM元素,而只允许应用于顶级元素。为了将样式应用于子DOM元素,我建议使用CSS选择器:

.class-applied td {
    /* style definition */
}

不,这是不可能的。CheckBoxList并不总是呈现一个表,因此这被认为是一个实现细节,并且对开发人员是隐藏的。除非你真的想去黑客和创建一个新的控制继承自复选框列表。然后您就可以完全控制标记,并可以添加任何您想要的类

然而,对于大多数用例来说,这无疑是一种过度的杀伤力。为什么不使用css选择器将样式应用于行和单元格

.myCss1table__checkbox--row tr {
    /* same stuff you would put in myCss1row */
}

.myCss1table__checkbox--row td {
    /* same stuff you would put in myCss1col */
}
或者,您可以使用javascript并在下面使用的页面加载jQuery上分配这些类:

$(function(){
    $(".myCss1table__checkbox--row tr").addClass("myCss1row");
    $(".myCss1table__checkbox--row td").addClass("myCss1col");
});

不,这是不可能的。CheckBoxList并不总是呈现一个表,因此这被认为是一个实现细节,并且对开发人员是隐藏的。除非你真的想去黑客和创建一个新的控制继承自复选框列表。然后您就可以完全控制标记,并可以添加任何您想要的类

然而,对于大多数用例来说,这无疑是一种过度的杀伤力。为什么不使用css选择器将样式应用于行和单元格

.myCss1table__checkbox--row tr {
    /* same stuff you would put in myCss1row */
}

.myCss1table__checkbox--row td {
    /* same stuff you would put in myCss1col */
}
或者,您可以使用javascript并在下面使用的页面加载jQuery上分配这些类:

$(function(){
    $(".myCss1table__checkbox--row tr").addClass("myCss1row");
    $(".myCss1table__checkbox--row td").addClass("myCss1col");
});

你的目标是什么?是否要设置表格行和单元格的样式?能否提供的ASP.NET代码?您的目标是什么?是否要设置表格行和单元格的样式?能否提供的ASP.NET代码?