我正在WebBrowser控件中动态创建HTML。大多数元素似乎都正确显示,但表格除外。
我的代码是:
var doc = webBrowser1.Document;
var body = webBrowser1.Document.Body;
body.AppendChild(webBrowser1.Document.CreateElement("hr"));
var div = doc.CreateElement("DIV");
var table = doc.CreateElement("TABLE");
var row1 = doc.CreateElement("TR");
var cell1 = doc.CreateElement("TD");
cell1.InnerText = "Cell 1";
row1.AppendChild(cell1);
var cell2 = doc.CreateElement("TD");
cell2.InnerText = "Cell 2";
row1.AppendChild(cell2);
table.AppendChild(row1);
div.AppendChild(table);
body.AppendChild(div);
body.AppendChild(webBrowser1.Document.CreateElement("hr"));
HTML标记在正文的OuterHTML属性中可见,但浏览器中显示的所有内容都是两个水平规则。
如果我更换
div.AppendChild(table);
与
div.InnerHtml = table.OuterHtml
然后一切都按预期显示。
答案 0 :(得分:0)
使用THEAD,TBODY和TFOOT元素
答案 1 :(得分:0)
要使表格内容可见,其标签必须位于< TBODY>
var tbody = doc.CreateElement("TBODY");
...
tbody.AppendChild(row1);
table.AppendChild(tbody);
div.AppendChild(table);