以编程方式创建一个asp:Button?

时间:2008-10-09 16:14:52

标签: c# asp.net .net servercontrols

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

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

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

3 个答案:

答案 0 :(得分:14)

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. 
}

答案 1 :(得分:9)

还要记住,当用户点击按钮时,它会强制进行回发,从而创建页面类的新实例。您创建按钮的旧实例已经消失。您需要确保该类的新实例还添加了您的按钮 - 它是事件处理程序 - 在加载阶段之前,或者事件处理程序将不会运行(页面的加载事件)然而,仍然会。)

答案 2 :(得分:5)

如果要在后面的代码中为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
}