以编程方式创建asp:Button?

我正在使用我的代码隐藏页面以编程方式创建一个保存按钮:

Button btnSave = new Button(); btnSave.ID = "btnSave"; btnSave.Text = "Save"; 

但是我认为这必须创建一个html按钮或者可能需要其他东西,因为我似乎无法在下一行中设置OnClick属性,我可以指定OnClientClick,但这不是我想要设置的。

 Button btnSave = new Button(); btnSave.ID = "btnSave"; btnSave.Text = "Save"; btnSave.Click += new System.EventHandler(btnSave_Click); protected void btnSave_Click(object sender, EventArgs e) { //do something when button clicked. } 

还要记住,当用户单击该按钮时,它将强制回发,这将创建页面类的新实例 。 您创建按钮的旧实例已经消失。 您需要确保该类的新实例还在加载阶段之前添加了您的按钮 – 以及它的事件处理程序,否则事件处理程序将不会运行(但页面的加载事件仍将如此)。

如果要在后面的代码中为OnClick事件注册处理程序,则可以使用+ =语法向OnClick添加处理程序。

 //Add the handler to your button, passing the name of the handling method btnSave.Click += new System.EventHandler(btnSave_Click); protected void btnSave_Click(object sender, EventArgs e) { //Your custom code goes here }