找不到动态添加的控件怎么办?
现在用
DataTable dt = GetTable( ".... ");//到到表的数据
for (int i = 0; i != dt.rows.count; ++i)
{
RadioButton rb = new radiobutton();
rb.id = "rb_ " + i;
panel1.controls .add(rb);
}
虽然控件是成功添加了,但是执行下的代码找不到控件
panel1.controls.count
只返回 1,而不是实际页面显示数目。
为什么? 如何解决,谢谢解答!
------解决方案--------------------代码看来是可以的
检查一下,是不是确实只有一行数据啊
------解决方案--------------------你的描述逻辑中根本看不出“panel1.controls.count”何时执行。你把这句放在“for{}”结束后的那一行也是返回0吗?
------解决方案--------------------这段代码应该不能执行吧:
rb.id = "rb_ " + i.ToString();
------解决方案--------------------public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i != 5; ++i)
{
RadioButton rb = new RadioButton();
rb.Text = i.ToString();
rb.ID = "rb_ " + i;
Panel1.Controls.Add(rb);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write(Panel1.Controls.Count); // 输出 1
}
}