为TD设置css类

时间:2009-02-09 15:19:50

标签: asp.net html

我正在使用自定义用户控件(我没有修改权限),它会为表格显示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

这并没有给我相同的用户界面。

3 个答案:

答案 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")

这假设您非常了解要添加的用户控件的外观,并且不会被其他人更改,最后会破坏您的代码。