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

标签 c#

我刚刚试过了,但我以独特的方式获得了 HTML 表格,我只需要表格在另一个表格中创建。

示例输出:http://i.stack.imgur.com/drdXx.jpg][1]sample

在设计页面

<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);

   }   
}

最佳答案

你需要改变你的递归函数如下

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);

    }
}

然后调用函数

 var s = 0;
 Addtable(tableContent,s);

关于c# - 如何使用递归逻辑在 C# 中创建嵌套的 html 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25485488/

相关文章:

c# - 需要适用于 C#.Net 的 Google Talk API

c# - 删除带有命名空间前缀的 xmlns 属性

C# BackgroundWorker 并行调用 DoWorkEventHandler

c# - 将文件上传到 ftp 会在该文件的末尾添加不需要的(垃圾)字符

c# - SQL Server transient 异常编号

c# - 亚马逊简单通知服务 AWSSDK C# - S.O.S

c# - DbGeography 相交方法不起作用

c# - 是什么导致 'Thread was being aborted' 异常随机发生并向浏览器显示 HTTP header 和部分 HTML?

c# - C# 中 LPCTSTR * 的等效项是什么

c# - 为什么 C# 编译的正则表达式比等效的字符串方法更快?