我正在使用自定义用户控件(我没有修改权限),它会为表格显示HTML,如下所示:
<tr>
<td></td>
<td></td>
</tr>
它允许我在标签内动态添加任何控件。我的问题是如何设置表格单元格的单元格样式。通常情况下,我会做<td class="myClass">
。由于我没有源代码来修改它,我使用的解决方法是创建<div>
,设置CSS类并将其添加到<td>
。代码看起来像这样:
HtmlGenericControl divControl = new HtmlGenericControl("div");
divControl.Attributes.Add("class", "myClass");
//Add a textbox to divControl.
//Add the divControl to the customized user control
这并没有给我相同的用户界面。
答案 0 :(得分:3)
如果可以,只需在生成表格之前添加DIV。外部div的类名将由TD元素继承:
<div class="MyClassName">
//table code here
</div>
然后您可以按如下方式使用CSS:
.MyClassName TD { //CSS here }
答案 1 :(得分:0)
尝试使用SPAN而不是DIV。 DIV是一个块级元素,带有一些额外的格式化行李。 SPAN是一个内联元素,不会像DIV那样改变表示语义。
您也可以使用分层CSS选择器来实现相同的效果,而无需将表元素的内容包装在容器中。如果你的CSS类同样适用于所有表元素,那么这可能是正确的,但是如果它们适用于某些而不适用于其他表元素则不会起作用。
答案 2 :(得分:0)
将控件添加到页面的控制树后,您可以使用它的“父”属性将树处理为表格控件。
NewDynamicControl.Parent.Parent.Parent.Attributes.Add("class", "myClass")
这假设您非常了解要添加的用户控件的外观,并且不会被其他人更改,最后会破坏您的代码。