7

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

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

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

4

3 回答 3

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. 
}
于 2008-10-09T16:26:32.607 回答
9

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

于 2008-10-09T16:31:46.887 回答
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
}
于 2008-10-09T16:18:53.247 回答