2012-09-26 114 views
0

我將單選按鈕列表動態添加到頁面,並在按鈕單擊我想要存儲的值。但我無法在頁面上找到控件。請在下面找到示例代碼。查找動態創建的單選按鈕列表

for(int i=1;i<10;i++) 
{ 

Table tblStars = new Table();  
RadioButtonList rb = new RadioButtonList();  
rb.ID = i.ToString(); 

---- 
TableCell tc=new TableCell();  
TableRow tr=new TableRow();  
tc.Controls.Add(rb);  
tr.cells.Add(tc); 

tblStars.Rows.Add(tr);  
ContentPlaceHolder.Controls.Add(tblStars); 

} 

在按鈕的單擊事件,

protected void btnPost_Click(object sender, EventArgs e) 

{  
    for(int i=1;i<10;i++)  
    {  
     RadioButtonList rb = (RadioButtonList)this.Page.FindControl(i.ToString());  
    } 
} 

在這裏,我無法找到控制。 FindControl返回null。

我在這裏錯過了什麼嗎?

謝謝

回答

0

因爲要創建的RadioBuoon列表動態需要每次回發後創建它們..

要那樣做?

而且不是this.Page.FindControl需要專門針對在其中您希望它是細胞..

0

你可能錯過了控制,當你點擊按鈕。每次單擊它時,它都會執行回發,並執行Page_Load事件。 您可能正在初始化您的信息,表格中的控件已重置。 嘗試再次在Page_Load事件中加載控件。 您也可以嘗試使用視圖狀態。