如何将HtmlTable添加到HtmlTableRow?

时间:2013-06-12 07:51:40

标签: c# asp.net nested html-table

我有一个HtmlTable(父母),想要将另一个HtmlTable嵌入到父HtmlTableRow中。

我试过这段代码:

HtmlTable parent=new HtmlTable();
HtmlTableRow row = new HtmlTableRow();
HtmlTable child = new HtmlTable();
HtmlTableRow row2 = new HtmlTableRow();
row2.Cells.Add(CreateTableCell("cell1"));
row2.Cells.Add(CreateTableCell("cell2"));
child.Rows.Add(row2);
row.InnerHtml=child.InnerHtml;
parent.Rows.Add(row);

但它给了我这个错误:

  

HtmlTable不支持InnerHtml属性。

发生此错误是因为此属性继承自HtmlContainerControl类,不适用于HtmlTable

这种方法有替代品吗?

3 个答案:

答案 0 :(得分:0)

你可以尝试使用div,一旦你创建了Htmltable,将Html Table设置为div的内容。

例如

 div.innerHtml = htmlTable;
希望得到帮助

答案 1 :(得分:0)

来自 MSDN ;

  

不要读取或为此属性赋值。否则,一个   抛出System.NotSupportedException异常。这个属性是   继承自HtmlContainerControl类,不适用于   HtmlTable类。

试试这个;

StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
child.RenderControl(htw)

答案 2 :(得分:0)

您可以放入TableRow的唯一对象是TableCells和TableHeaderCells。任何其他内容(如另一个表)必须首先进入其中一个。这与html tr元素完全相同,后者只能包含td或th元素。