HtmlTable,HtmlTableRow,HtmlTableCell - 创建thead,tbody和tfoot

时间:2010-01-12 20:10:48

标签: c# html

我正在使用c#ASP .Net,HtmlTable,HtmlTableRow,HtmlTableCell创建一个表。

例如......我需要让<tfoot> and </tfoot>

包裹一些单元格

我尝试用HtmlGenericControl来将这些带有标签“tfoot”的单元格包装到HtmlTable中,但它不起作用。

我知道HtmlTableCell可以在构造函数“th”中用于“thead”和“td”用于tbody。 但我需要用实际的“thead”和“tbody”包裹它们。

任何建议??

4 个答案:

答案 0 :(得分:22)

以下是(如下)。使用的所有类都在System.Web.UI.HtmlControls中。

TableRow row = new TableHeaderRow();
        TableRow row2 = new TableRow();
        TableRow row3 = new TableFooterRow();
        Table table = new Table();

        var cell1 = new TableCell();
        row.TableSection = TableRowSection.TableHeader;
        cell1.Text = "Header";
        row.Cells.Add(cell1);

        var cell2 = new TableCell();
        cell2.Text = "Contents";
        row2.Cells.Add(cell2);

        var cell3 = new TableCell();
        cell3.Text = "Footer";
        row3.Cells.Add(cell3);
        row3.TableSection = TableRowSection.TableFooter;


        table.Rows.Add(row);
        table.Rows.Add(row2);
        table.Rows.Add(row3);
        this.Controls.Add(table);

答案 1 :(得分:4)

看起来不好,我很害怕。这来自http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable%28VS.80%29.aspx

  

请注意

     

不支持复杂的表模型。你不能拥有嵌套&lt;的HtmlTable控件。标题&gt;,&lt; col&gt;,&lt; colgroup&gt;,&lt; tbody&gt;,&lt; thead&gt;,或者&lt; tfoot&gt;元素。这些元素在没有警告的情况下被删除,并且不会出现在输出HTML中。如果您尝试以编程方式将这些表模型元素添加到HtmlTable控件的Control.Controls集合中,则会抛出异常。

那时老派的HTML就是这样。

答案 2 :(得分:1)

您可以使用

HtmlGenericControl table = new HtmlGenericControl("table");

而不是

HtmlTable table = new HtmlTable();

答案 3 :(得分:0)

graphicdivine具有正确的响应,该功能无法使用htmlcontrols以编程方式构建表。您可以使用html标记在标记中构建它,并在需要的地方添加runat服务器,或者使用webcontrol以编程方式构建它。比如Table,TableRow等...