如何使用递归逻辑在c#中创建嵌套html表?

如何使用递归逻辑在c#中创建嵌套html表?,c#,C#,我只是试了一下,但是我得到了唯一的HTML表,我只需要在一个表中创建另一个表 样本输出: 在设计页面中 <table id="tableContent" border="1" runat="server"></table> protected void Page_Load(object sender, EventArgs e) { var s = 0; Addtable(s); } public void Addta

我只是试了一下,但是我得到了唯一的HTML表,我只需要在一个表中创建另一个表

样本输出:

在设计页面中

<table id="tableContent" border="1" runat="server"></table>

protected void Page_Load(object sender, EventArgs e)
{
        var s = 0;          
        Addtable(s);
}

public void Addtable(int j)
{
   HtmlTableRow row = new HtmlTableRow();
   HtmlTableCell cell = new HtmlTableCell();
   cell.InnerText = "col 1";
   row.Cells.Add(cell);

   cell = new HtmlTableCell();
   cell.InnerText = "col2";
   row.Cells.Add(cell);

   tableContent.Rows.Add(row);

   tableContent.Border =1;

   if( j < 5)
   {
       j++;
       Addtable(j);

   }   
}

受保护的无效页面加载(对象发送方、事件参数e)
{
var s=0;
可添加的;
}
公共无效添加表(int j)
{
HtmlTableRow行=新的HtmlTableRow();
HtmlTableCell=新的HtmlTableCell();
cell.InnerText=“col 1”;
行.单元格.添加(单元格);
cell=新的HtmlTableCell();
cell.InnerText=“col2”;
行.单元格.添加(单元格);
tableContent.Rows.Add(row);
tableContent.Border=1;
if(j<5)
{
j++;
可加表(j);
}   
}

您需要如下更改递归函数

public void Addtable(HtmlTable baseTable, int j)
{
    HtmlTable innerTable = new HtmlTable();
    // change to stylesheet instead. Just added as an example to get the output
    baseTable.Style.Add("margin-left", "25px");
    baseTable.Style.Add("margin-right", "25px");
    baseTable.Style.Add("margin-bottom", "25px");
    baseTable.Style.Add("text-align", "center");
    baseTable.Border = 1;

    //Create a container cell for inner table
    HtmlTableRow container = new HtmlTableRow();
    HtmlTableCell containerCell = new HtmlTableCell();
    Literal l = new Literal();
    l.Text = "Table " + j;
    containerCell.Controls.Add(l);
    containerCell.Controls.Add(innerTable);
    containerCell.ColSpan = 2;
    container.Cells.Add(containerCell);
    baseTable.Rows.Add(container);
    if (j < 5)
    {
        j++;
        Addtable(innerTable, j);

    }
}

到底是什么不起作用?请更详细地描述所需的和实际的行为。请参考示例输出。@katherdx-堆栈溢出只起作用,因为人们提供他们的业余时间来帮助。如果您发布了一个问题,您需要尽可能多地工作,使我们能够轻松回答您的问题。通常不接受说“请参考样本输出”。你应该确保你的问题被清楚地陈述,并且你应该对所有要求澄清的请求做出充分的回应。@katherdx:别忘了接受上面的回答。
 var s = 0;
 Addtable(tableContent,s);