實現的功能是在網頁上的Panel中動態添加一個Button,並為這個Button寫一個單擊事件。
動態添加控制項的事件,語句:
Code
Control.Command += new CommandEventHandler(this.EventFun);
具體的代碼請看下面:
需要特別注意的是:
添加控制項和給控制項加事件時絕對不能放到 if(!IsPostback){}裡面,那樣的話,點擊一次後控制項會消失,而且事件也不
會執行。
Code
protected void Page_Load(object sender, EventArgs e)
{
//將輸入字串分析為System.Web.UI.Control對象,b為傳進去的值
Control c = ParseControl("<asp:Button Text = '按我' ID = 'myButton' commandargument = 'b' runat = 'server' />");
//將控制項添加大Panel中
this.Panel1.Controls.Add(c);
//尋找頁面名為myButton的控制項
Button Button = (Button)Page.FindControl("myButton");
//添加事件On_Button
Button.Command += new CommandEventHandler(this.On_Button);
}
//CommandEventArgs為command事件提供資料
protected void On_Button(Object sender,CommandEventArgs e)
{
Response.Write("<script language = 'javascript' type = 'text/javascript'>alert('" + e.CommandArgument.ToString() + "');</script>");
}