確保您爲該按鈕指定了一個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