动态文本框使用Asp.net

时间:2013-12-25 08:23:27

标签: asp.net

asp.net中的

TextBox会给button1带来压力。 Button2到TextBox数据内部的压力由label1myyazdırıca组成。我试图这样做会给出错误。

对象引用未设置为对象的实例。

button1_click{

 TextBox txt = new TextBox();
        txt.ID = "a";
        txt.EnableViewState = true;
        Panel1.Controls.Add(txt);

 }

Button2_click{
 TextBox deneme= Panel1.FindControl("a") as TextBox;
        Label1.Text = deneme.Text; 
}

2 个答案:

答案 0 :(得分:0)

创建控件后,在第一次单击时,页面上显示的控件存在。

在第二次点击时,页面不再了解该文本控件,因为您没有在某处保存该信息,因为只有您知道过去的某个时间才创建它。

所以在这段代码中你有:

Button2_click{  
     TextBox deneme= Panel1.FindControl("a") as TextBox;
     // here the deneme is null ! and you get the exception !
     // the deneme is not exist on the second click, not saved anywhere
     Label1.Text = deneme.Text;  
}

解决方案是继续查看您创建的控件和方式,并在PageInit上重新创建它们。另外,您可以重新设计页面并考虑采用不同的方法,例如,您可以将TextControl的所有内容都保留在页面上,然后打开它们。

答案 1 :(得分:-1)

   Button2_click{  
TextBox txt = (TextBox)Panel1.FindControl("a");

Label Label1 = new Label();
Label1.Text=txt.Texxt;
}