Questo codice funziona, ho provato:
codice:protected void Page_Load(object sender, EventArgs e) { Button btn = new Button(); btn.Text = "Nuovo Pulsante"; btn.Click += new EventHandler(this.Button1_click); btn.ID = "Button1"; System.Web.UI.HtmlControls.HtmlForm Form =(System.Web.UI.HtmlControls.HtmlForm)this.FindControl("form1"); Form.Controls.Add(btn); } void Button1_click(object sender, EventArgs e) { Response.Write("Hai cliccato il pulsante Button1"); }