动态地向表中添加一行,该表已存在于C#中的html中

时间:2014-05-07 12:26:48

标签: html asp.net c#-4.0

我的.aspx页面中有一个表格如下。

<table id="Test_Table">

</table>

我需要在我的.cs页面中为上表动态添加一行:

我尝试了以下找到的以下内容。

我在onclick()上创建了一个按钮,我编写了以下代码。

        TableRow row = new TableRow();
        TableCell cell1 = new TableCell();
        cell1.Text = "Sample Text";
        row.Cells.Add(cell1);
        Test_Table.Rows.Add(row);

但这不起作用。它表示该表在当前上下文中不存在。 请帮助。

1 个答案:

答案 0 :(得分:1)

这是 html -table:

<table id="Test_Table">

您应该添加runat="server",然后您可以从服务器端访问它。但是,如果您需要动态创建行,则首先应使用ASP.NET Table control

<asp:Table runat="server" ID="Test_Table">
</asp:Table>

现在您可以通过IdRows-property访问它了。

// ...
Test_Table.Rows.Add(row);

但是,请注意,在ASP.NET中动态添加控件并不是那么简单。它们将在页面当前的liefcycle结束时进行处理,因此只要html被呈现并发送给客户端。您需要在Page_Load(最迟)的每个回发中重新创建它,并使用与之前相同的ID(如果有)。

因此,您需要保留已添加的行数,您可以使用ViewStateSession变量。