动态生成textbox ,无法访问控件
我在页面点击按钮 动态生成 textbox 控件点击 保存 按钮访问的时候,访问不到,未将实例引用到对象。
从网上看是因为没有重新加载,不知应该如何加载,求赐教.... --------------------编程问答-------------------- 恐怕你要先把生成的控件添加到你页面的容器里,才能访问的到 --------------------编程问答--------------------
在页面上已经生成了,在页面上可以看到生成的控件
txt = tdParamIN.FindControl(“txtProvinceID”) as TextBox;
txt.Text 时候报错。 --------------------编程问答-------------------- 必须要在Page_Load里面生产。 --------------------编程问答--------------------
现在这种情况如何改进啊? --------------------编程问答-------------------- 怎么没人说话了..... --------------------编程问答--------------------
用Request.Form取值。 --------------------编程问答--------------------
如果还要在页面显示textbox的话 把textbox的状态保存下来 在page_load 里面在创建一遍 --------------------编程问答-------------------- 肯定报错的哈。。。。。因为你服务端动态创建的control是没有被asp.net保存状态的,在进行回发之后是不认识你动态添加的控件的,解决方法是回发和第一次加载都去动态添加你的控件,至于控件的状态,可以使用ViewState来维护
具体实现,你自己设计了。。。 --------------------编程问答--------------------
如果控件不多的话,还可以把控件声明成全局变量就OK了,取值,赋值都方便。
public partial class _Default : System.Web.UI.Page--------------------编程问答-------------------- 一个类的私有字段。。。。。怎么变成全局变量了。。。。。
{
private TextBox txt_Test;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
txt_Test = new TextBox();
txt_Test.ID = "txt_Test";
txt_Test.Text = "。。。。。设置文本。。。。";
form1.Controls.Add(txt_Test);
}
protected void Button2_Click(object sender, EventArgs e)
{
string str = this.txt_Test.Text;
}
}
--------------------编程问答-------------------- 一个类的私有字段。。。。。怎么变成全局变量了。。。。。
习惯说法问题,不必较真。 --------------------编程问答-------------------- 说法不对,造成思想概念不对,还是要矫正一下,兄弟
--------------------编程问答--------------------
C#根本就没有真正的全局变量。
把声明在函数外的变量称为全局变量,把声明在函数内的变量成为局部变量,也是可以理解的。 --------------------编程问答-------------------- Refer:
http://www.cnblogs.com/insus/archive/2012/09/23/2698613.html
also see:
http://www.cnblogs.com/insus/archive/2012/09/24/2700658.html --------------------编程问答-------------------- 14楼的- -真犀利
补充:.NET技术 , ASP.NET