日期:2014-05-20  浏览次数:20917 次

关于动态生成textbox,和动态获取testbox值
我是用动态的方式   在页面上自动生成很多的文本框
    for(int       i       =       1;i <100;i++)      
    {      
        TextBox       t       =       new       TextBox()      
        t.ID       =       "a "+i.ToString();      
        this.Page.Controls.Add(t);      
    }

获取的时候用
string   b;
for   (in   i=1;i <=100;i++)
{
TextBox   ck=   (TextBox)this.FindControl( "a "+i.ToString());
b=ck.text
}

在获取的时候出错,循环的时候当i=1是可以取到值的,当继续循环下去就会出错
Unable   to   cast   object   of   type   'System.Web.UI.WebControls.DropDownList '   to   type   'System.Web.UI.WebControls.TextBox '.

------解决方案--------------------
Control tmp=this.FindControl( "a "+i.ToString();
TextBox tmpTextBox=tmp is TextBox?(TextBox)tmp:null;
if (tmpTextBox != null)
{
...
}