我的.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);
但这不起作用。它表示该表在当前上下文中不存在。 请帮助。
答案 0 :(得分:1)
这是 html -table:
<table id="Test_Table">
您应该添加runat="server"
,然后您可以从服务器端访问它。但是,如果您需要动态创建行,则首先应使用ASP.NET Table
control。
<asp:Table runat="server" ID="Test_Table">
</asp:Table>
现在您可以通过Id
和Rows
-property访问它了。
// ...
Test_Table.Rows.Add(row);
但是,请注意,在ASP.NET中动态添加控件并不是那么简单。它们将在页面当前的liefcycle结束时进行处理,因此只要html被呈现并发送给客户端。您需要在Page_Load
(最迟)的每个回发中重新创建它,并使用与之前相同的ID(如果有)。
因此,您需要保留已添加的行数,您可以使用ViewState
或Session
变量。