确保您为该按钮指定了一个ID,并确保每次创建它时都是一样的。
在CreateChildControls重载中创建控件,在响应另一个事件时添加一次控件不足以将其保留在页面上。
你最好的赌注是怎么回事是否需要创建或没有按键被跟踪:
bool CreateButton
{
get
{
if (ViewState["CreateButton"] == null)
return false;
return (bool)ViewState["CreateButton"];
}
set
{
ViewState["CreateButton"] = value;
}
}
override void public CreateChildControls()
{
panel1.Controls.Clear();
if (CreateButton)
{
Button btn = new Button();
btn.Text = "Test button";
btn.ID = "CreatedButton"; // Note the ID here...
Panel1.Controls.Add(btn);
btn.Click += new EventHandler(btn_Click);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
CreateButton = true;
EnsureChildControls();
}
void btn_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('test')</script>");
}
类似的东西应该为你工作...
我应该做我的代码behide? – 2009-08-20 11:13:09