查找动态创建的radiobuttonlist

时间:2012-09-26 16:40:52

标签: c# asp.net

我正在向页面动态添加radiobutton列表列表,点击按钮我想存储值。但我无法在页面上找到控件。请在下面找到示例代码。

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。

我在这里错过了什么吗?

谢谢

2 个答案:

答案 0 :(得分:0)

因为您正在动态创建RadioBuoon列表,所以需要在每个POSTBACK 之后创建它们。

你正在那样做吗?

而不是this.Page.FindControl,你需要专门针对你期望它的单元格。

答案 1 :(得分:0)

单击按钮时可能缺少控件。每次单击它时,它都会进行回发,并执行Page_Load事件。 您可能正在初始化您的信息,并重置表中的控件。 尝试再次加载Page_Load事件中的控件。 您也可以尝试使用视图状态。