asp.net后台动态生成控件,出现问题
我的开发环境是vs2008.
在页面上上用了ajax控件。
希望在页面上通过点击按钮无刷新增加一个控件。
我的代码如下。
button1是这个增加控件的按钮。
protected void Button1_Click(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb.ID = "txt" + (Panel1.Controls.Count + 1).ToString();
tb.Text = tb.ID;
tb.Controls.Add(new LiteralControl("test"));
Button bt = new Button();
bt.ID = "btn" + (Panel1.Controls.Count + 1).ToString();
bt.Text = bt.ID;
bt.Click += new System.EventHandler(Button1_Click);
Panel1.Controls.Add(tb);
Panel1.Controls.Add(bt);
ViewState[tb.ID] = true;
ViewState[bt.ID] = true;
Label1.Text = Panel1.Controls.Count.ToString();
foreach(Control ctl in Panel1.Controls)
{
Label1.Text = Label1.Text + ctl.GetType().FullName + " | ";
}
}
现在的问题是:
点击botton1后,界面上增加了一个textbox和一个botton。点击新增加的botton时,新增控件消失。不能每点击botton1一次,增加一次控件。
查看页面的源码,html里没有新增的控件html代码。
搜索了后,有说是postback后,没有加载这个页面的问题。
实在是没搞明白,希望有人能解开这个迷津。