日期:2014-05-17  浏览次数:20389 次

findcontrol获取不了值 求解释
public static int i = 0;
  protected void Page_Load(object sender, EventArgs e)
  {
  if (!IsPostBack)
  {
  check();
  }
  }
  public void check()
  {
  for (int j = 0; j <= i; j++)
  {
  TextBox t = new TextBox();
  t.ID = "a" + j.ToString();
  abc.Controls.Add(t);
  }
  i++;
  }
  protected void Button1_Click(object sender, EventArgs e)
  {
  check();
  }
  protected void Button2_Click(object sender, EventArgs e)
  {
  TextBox tb = (TextBox)abc.FindControl("a0");
  Label1.Text = tb.Text;
  }
button1的点击功能是动态增加textbox,button2的点击功能是把第一个动态textbox的值赋值给label1.但是我点击了一次button1之后,就在动态生成的第一个textbox上填写一些字符,再去点击button2时就出现错误了,求大神们解释下

------解决方案--------------------
if (!IsPostBack)
{
}


去了就可以了。
------解决方案--------------------
同意楼上,去掉if (!IsPostBack)代码块.
------解决方案--------------------
refer:


http://www.cnblogs.com/insus/archive/2012/09/23/2698613.html
------解决方案--------------------
探讨
引用:
refer:
http://www.cnblogs.com/insus/archive/2012/09/23/2698613.html

这个为什么只能动态生成2个textbox的呢

------解决方案--------------------
写好了,参考:


http://www.cnblogs.com/insus/archive/2012/09/24/2700658.html
------解决方案--------------------
如果排版layout变成下面这样子:


可以参考:
http://www.cnblogs.com/insus/articles/2037385.html