我正在向页面动态添加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。
我在这里错过了什么吗?
谢谢
答案 0 :(得分:0)
因为您正在动态创建RadioBuoon列表,所以需要在每个POSTBACK 之后创建它们。
你正在那样做吗?而不是this.Page.FindControl
,你需要专门针对你期望它的单元格。
答案 1 :(得分:0)
单击按钮时可能缺少控件。每次单击它时,它都会进行回发,并执行Page_Load事件。 您可能正在初始化您的信息,并重置表中的控件。 尝试再次加载Page_Load事件中的控件。 您也可以尝试使用视图状态。