动态向表中添加行

Jan*_*Jan 4 asp.net html-table

目前,我正在尝试创建一个表,其内容应该由子类创建(查询 RESTful Web 服务的结果)。我已经为此工作了很长一段时间,但似乎无法让它发挥作用。我尝试了很多不同的解决方案。

  • 在子类中创建表并将其添加到 Page.Controls。这让我“无法修改控件集合,因为控件包含代码块(即 <% ... %>)”。这完全没有意义。
  • 我试图在页面上创建一个空表并将其句柄传递给负责添加行的子类。注意到发生了。
  • 我试图返回一个 TableRowCollection 并将其分配给之前创建的(空)表。什么都没有发生。
  • 现在我只想在表格中添加一行和一个单元格(朝着我需要的方向迈出一步)。甚至那也行不通。请找到附件的代码:

    TableRow row = new TableRow();
    table.Rows.Add(row);
    
    TableCell cell = new TableCell();
    row.Cells.Add(cell);
    
    cell.Controls.Add(new TextBox());
    
    Run Code Online (Sandbox Code Playgroud)

该表简单而空:

<asp:Table ID="table" runat="server" /> 
Run Code Online (Sandbox Code Playgroud)

我的浏览器显示的源代码如下所示:

<table id="table">
</table> 
Run Code Online (Sandbox Code Playgroud)

我一直在网上看无数的例子,都是这样的。我想这只是某个地方的一个小问题,但我一直无法弄清楚。现在,我愿意向所有能够提供解决此烂摊子的提示的人表示终生的感激之情。

Kap*_*wal 5

它正在工作,我已经对其进行了测试:

在我的页面加载中,我有:

 protected void Page_Load(object sender, EventArgs e)
        {
            TableRow row = new TableRow();
            TableCell cell = new TableCell();
            cell.Controls.Add(new TextBox());
            row.Cells.Add(cell);
            table.Rows.Add(row);
        }
Run Code Online (Sandbox Code Playgroud)

在我的 aspx 页面上,我有:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:Table ID="table" runat="server" /> 
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

此代码呈现的 html:

<table id="MainContent_table">
    <tbody><tr>
        <td><input name="ctl00$MainContent$ctl00" type="text"></td>
    </tr>
</tbody></table>
Run Code Online (Sandbox Code Playgroud)