获取HTMLTable C#的InnerHtml

l--*_*''' 3 .net html c# html-table winforms

此函数返回一个HTML表:

private HtmlTable ConvertToHtml(DataTable dataTable)
        {
            var htmlTable = new HtmlTable();
            if (dataTable == null) return htmlTable; //null reference, empty table

            HtmlTableRow htmlRow = new HtmlTableRow();
            htmlTable.Rows.Add(htmlRow);

            foreach (DataColumn column in dataTable.Columns)
                htmlRow.Cells.Add(new HtmlTableCell() { InnerText = column.ColumnName });

            foreach (DataRow row in dataTable.Rows)
            {
                htmlRow = new HtmlTableRow();
                htmlTable.Rows.Add(htmlRow);

                foreach (DataColumn column in dataTable.Columns)
                    htmlRow.Cells.Add(new HtmlTableCell() { InnerText = row[column].ToString() });
            }

            return htmlTable;
        }
Run Code Online (Sandbox Code Playgroud)

我想知道我该怎么innerHTMLHtmlTable

目前,我正在这样做:

        var bodyhtml = ConvertToHtml(r.tblSalesVolume);
        MessageBox.Show(bodyhtml.InnerHtml);
Run Code Online (Sandbox Code Playgroud)

但它说它不具有这种属性。

如何获取表格的HTML代码?

Leo*_*eon 6

您可以使用HtmlTable.RenderControl()方法。

例:

StringBuilder sb = new StringBuilder();
StringWriter tw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);

HtmlTable.RenderControl(hw);
String HTMLContent = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

  • @I__:您必须编写`bodyHtml.RenderControl(hw);`。Bcos是您正在使用的对象。 (2认同)