很着急,为什么addpanel.FindControl找不到自控件
自动生成控件for (int i = 0; i < num; i++)
{
TextBox t = new TextBox();
t.ID = "text" + i.ToString();
Label l = new Label();
l.ID = "lab" + i;
int k = i + 1;
l.Text = "<" + k.ToString() + ">";
this.addpanel.Controls.Add(l);
this.addpanel.Controls.Add(t);
}
获取控件:
string textstr = "text" + i.ToString();
TextBox text = (TextBox)this.addpanel.FindControl(textstr);
这里获取不到生成的控件。text 为null
--------------------编程问答--------------------
for (int i = 0; i < num; i++)
{
TextBox t = new TextBox();
t.ID = "text" + i.ToString();
Label l = new Label();
l.ID = "lab" + i;
int k = i + 1;
l.Text = " <" + k.ToString() + ">";
this.addpanel.Controls.Add(l);
this.addpanel.Controls.Add(t);
}
放在Pagd_load,不要加!IsPostBack --------------------编程问答-------------------- 参考我的Blog:
http://blog.csdn.net/youbl/archive/2009/06/04/4241465.aspx --------------------编程问答--------------------
正解,顶一个 --------------------编程问答-------------------- 任何一个会引发页面postback的事件都会导致自动生成的text值为空,把值存起来是一个方法,可以用ViewState(来自别人的想法,解决了跟你一样的方法) --------------------编程问答-------------------- 动态创建的控件,在回发后自动清空。
放在Pagd_load中创建控件,不要加!IsPostBack
补充:.NET技术 , ASP.NET