【问题标题】:How to dynamically create an HTML Table?如何动态创建 HTML 表格?
【发布时间】:2016-03-10 02:36:17
【问题描述】:

如何动态创建 HTML 表或 ASP 表?我已经尝试使用下面的代码,但它不起作用。

Table tb = new Table();
tb.ID="tbl"+TBname;
TableRow rowNew = new TableRow();
tb.Controls.Add(rowNew);
for (int j = 0; j < cols; j++)
{
    TableCell cellNew = new TableCell();
    Label lblNew = new Label();
    rowNew.Controls.Add(cellNew);
}

我想使用循环创建多个 HTML 表格。我该怎么做?

【问题讨论】:

  • “它不工作。” 什么不工作?你有错误吗?
  • 您是否将表格添加到页面中?也许你错过了Controls.Add(tb)
  • 如果您需要多个 HTML 表格,只需将示例代码包装在 for 循环中即可。
  • hello -diiN it's not working 意味着上面的代码不起作用..
  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example

标签: c# html asp.net


【解决方案1】:

使用文字控制说

在设计页面中:

     <asp:Literal id="ltrlctrl1" runat=server />

在后面的代码中:

     ltrlctrl1.Text = "<table><tr><td>your HTML table contents</td></tr></table>";

请参阅:How to: Add Literal Web Server Controls to a Web Forms Page 了解其缺点/优点。

【讨论】:

    【解决方案2】:

    如果你想创建 N 号,试试这个。动态 HTML 表格中的行数

    前端页面

    <asp:Literal id="container" runat=server />
    

    背后的代码

    string Tablecontent='';
    int rowCount=10 //change value as per your need
    for(int i=1;i<=rowCount;i++){
    Tablecontent+="<tr><td>your HTML table contents</td></tr>";
    }
    
    container.Text="<table>"+Tablecontent+"</table>";
    

    【讨论】:

    • 您的答案是关于创建行。 OP 正在询问如何创建多个 HTML 表格。
    【解决方案3】:

    根据我上面的 cmets(您说可以帮助您解决问题),您没有将 Table 对象添加到页面。将以下内容添加到您的代码中:

    Controls.Add(tb);
    

    要创建多个 HTML 表格,只需将示例代码包装在 for 循环中,如下所示:

    int tableCount = 2; // Or however many tables you want.
    for (int tableIndex = 0; tableIndex < tableCount; tableIndex++)
    {
        Table tb = new Table();
        tb.ID = "tbl" + TBname;
        TableRow rowNew = new TableRow();
        tb.Controls.Add(rowNew);
        for (int j = 0; j < cols; j++)
        {
            TableCell cellNew = new TableCell();
            Label lblNew = new Label();
            rowNew.Controls.Add(cellNew);
        }
    }
    

    【讨论】:

      【解决方案4】:

      您应该避免尝试在 C# 中通过字符串 (BAD) 或使用 ASP.NET 表格控件 (BAD Microsoft) 来创建 HTML 代码

      更好的解决方案是将 HTML 输入到 .aspx 文件中,然后根据需要将值放入其中。加上一个 标记以使行重复,你应该很高兴。

      您的代码将更加简洁且易于维护。

      【讨论】:

      • 永远不要使用 "" 这个标签只是服务器端处理来渲染文本。太浪费服务器资源了,直接在 ASPX 文件中输入 HTML。
      猜你喜欢
      • 2019-11-19
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      相关资源
      最近更新 更多