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

Jay*_*lde 7 .net c# asp.net servercontrols

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

    Button btnSave = new Button();
    btnSave.ID = "btnSave";
    btnSave.Text = "Save";
Run Code Online (Sandbox Code Playgroud)

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

Eri*_*oss 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. 
}
Run Code Online (Sandbox Code Playgroud)


Joe*_*orn 9

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


Mit*_*ers 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
}
Run Code Online (Sandbox Code Playgroud)