如题,如何解决 if (!this.IsPostBack)
{
TextBox t1 = new TextBox();
t1.Text = "aaa";
t1.ID="tb";
this.FindControl("Form1").Controls.Add(t1);
}
else
{
TextBox t2=new TextBox();
t2.Text = "bbb";
t2.ID = "tb";
this.FindControl("Form1").Controls.Add(t2);
}
不管是否postback,textbox的值始终为aaa
程序需要,两个textbox的id必须一样,如何解决?
{
TextBox t1 = new TextBox();
t1.Text = "aaa";
t1.ID="tb";
this.FindControl("Form1").Controls.Add(t1);
}
else
{
TextBox t2=new TextBox();
t2.Text = "bbb";
t2.ID = "tb";
this.FindControl("Form1").Controls.Add(t2);
}
不管是否postback,textbox的值始终为aaa
程序需要,两个textbox的id必须一样,如何解决?
如果你是asp.net1.1,那么给.Text属性赋值语句放到Controls.Add语句后边就行了。如果是aso.net2.0,它是在page_load之后才填入post值的(说实话我对2.0的这个变化感到气愤),你就必须将赋值语句推后,也许page_LoadComplete或者更后的时候。
asp.1.1的,按您说的先controls.add,然后再赋值,还是不行
protected void Page_PreRender()
{
if (!this.IsPostBack)
{
TextBox t1 = new TextBox();
t1.Text = "aaa";
t1.ID = "tb";
PlaceHolder1.Controls.Add(t1);
}
else
{
TextBox t2 = new TextBox();
t2.Text = "bbb";
t2.ID = "tb";
PlaceHolder1.Controls.Add(t2);
}
}这里创建的话,客户端改变的值提交不了.