日期:2014-05-19  浏览次数:20604 次

如何获得在web页面上动态生成的控件的信息
我在Page_Load()时生成了一些控件,比如TextBox,DropDownList。大致代码如下:

TextBox   a   =   new   TextBox();
a.Text   =   "abc ";
a.ID   =   "TextBoxA ";
Panel1.Controls.Add(a);

现在我使用Request[ "a "]的方法能得到该控件的值,但是使用
TextBox   tmp   =   this.FindControl( "a ");
的时候,tmp永远是null。请教应该怎么做,或者是什么样的做法比较合适,是否是因为Panel的原因?

------解决方案--------------------
你动态添加的代码写在什么地方了?
如果是!IsPostBack
提交后添加的控件就没了吧??
所以你在Panel中找不到
如果找的话,你可以这样
foreach (Control c in this.panel1.Controls)
{
string ss = c.ID;
}
但是一定在PostBack中添加控件