2013-07-25 86 views
1

我在page_Init事件中創建了一個動態表。如何在點擊事件處理程序中訪問該表格?目前,它不能通過點擊事件處理程序訪問。實際上,我需要遍歷動態創建的表格,以獲取該表格中添加的其他動態控件。在page_init中動態創建控件並在點擊事件中訪問

+0

你需要顯示一些代碼,並告訴我們你已經試過了什麼 – CodingIntrigue

回答

0

在你的頁面聲明私有局部變量,如_table As...

然後,在Page_Init中,使用這些變量_table = New...

您將可以在頁面生命週期中稍後使用_table

0

您可以通過它的ID訪問它,因此分配一個唯一的Id(在他的NamingContainer中)。

<asp:Panel id="TableContainer" 
    HorizontalAlign="Center" 
    runat="server"> 

    <!-- put your table(s) here --> 

</asp:Panel> 

protected void Page_Init(Object sender, EventArgs e) 
{ 
    var table1 = new Table(); 
    table1.ID = "Table1"; 
    for(int rowCtr = 1; rowCtr <= 10; rowCtr++) { 
     // Create new row and add it to the table. 
     TableRow tRow = new TableRow(); 
     table1.Rows.Add(tRow); 
     for (int cellCtr = 1; cellCtr <= 10; cellCtr++) { 
     // Create a new cell and add it to the row. 
     TableCell tCell = new TableCell(); 
     tCell.Text = "Row " + rowCtr + ", Cell " + cellCtr; 
     tRow.Cells.Add(tCell); 
     } 
    } 
    TableContainer.Controls.Add(table1); 
} 

然後你就可以在後面的一個按鈕單擊事件訪問它,例如:

protected void button1_Clicked(Object sender, EventArgs e) 
{ 
    Table table1 = (Table) TableContainer.FindControl("Table1"); 
} 

但是,你應該考慮使用webdatabound控制像RepeaterGridView

上ASPX

代替。

相關問題