代码如下: TextBox txt = new TextBox();
txt.ID = i.ToString();
txt.Text = i.ToString();
this.Panel1.Controls.Add(txt);
i++;这段代码如果放在for循环中,页面生成控件成功,数量和我需求的一样
但是,如果我把代码放入button的click事件里面的话
点击第一次,控件生成成功...
第二次,页面刷新,控件还是原来第一个生成的。
之后一样....
求教高手了...
解决马上给分..
txt.ID = i.ToString();
txt.Text = i.ToString();
this.Panel1.Controls.Add(txt);
i++;这段代码如果放在for循环中,页面生成控件成功,数量和我需求的一样
但是,如果我把代码放入button的click事件里面的话
点击第一次,控件生成成功...
第二次,页面刷新,控件还是原来第一个生成的。
之后一样....
求教高手了...
解决马上给分..
所以控件必须每次都生成
是button的吗?
不会吧
if(!this.IsPostBack)
{
for(int i = 0; i < 5;i++)
{
System.Web.UI.WebControls.TextBox textBox = this.FindControl(i.ToString()) as System.Web.UI.WebControls.TextBox;
if(textBox==null)
{
TextBox txt = new TextBox();
txt.ID = i.ToString();
txt.Text = i.ToString();
this.Panel1.Controls.Add(txt);
textBox = this.FindControl(i.ToString()) as System.Web.UI.WebControls.TextBox;
}
i++;
textBox.Attributes["OnClick"] = "";//绑定你的事件
}}
if (ViewState["i"]==null) ViewState["i"] =1;
for (int j=0;j<(int)ViewState["i"];j++)
{
TextBox txt = new TextBox();
txt.ID = j.ToString();
txt.Text = j.ToString();
this.Panel1.Controls.Add(txt);
}
ViewState["i"]=(int)ViewState["i"]+1;
不就行了
或者放在Ispostback里定义