2014-05-07 18 views
0

我在.aspx頁面中有一個表格,如下所示。動態添加一行到一個已經存在於C#中的表格中的表格#

<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

這是一個HTML - 表:

<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中動態添加控件並不那麼簡單。它們將被放置在頁面當前的循環結尾,所以一旦html被渲染併發送給客戶端。您需要在Page_Load(最遲)的每次回傳中使用與以前相同的ID(如果有)重新創建它。

因此,您需要堅持已添加多少行,您可以使用ViewStateSession變量。

+0

謝謝,它工作。 :) –

+0

@ user2439093:您是否注意到我編輯了我的答案以提供更多信息? –

+0

是的,我做過。感謝您提供更多信息。 –

相關問題