1

我有一个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该类

这种方法有替代品吗?

4

3 回答 3

0

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

例如

 div.innerHtml = htmlTable;

希望有帮助

于 2013-06-12T07:56:12.057 回答
0

来自MSDN

不要从该属性中读取或为其赋值。否则,将引发 System.NotSupportedException 异常。该属性继承自 HtmlContainerControl 类,不适用于 HtmlTable 类。

试试这样;

StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
child.RenderControl(htw)
于 2013-06-12T10:58:28.007 回答
0

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

于 2013-06-15T12:58:04.530 回答