如何在动态按钮上创建动态按钮单击事件?

AB *_*yas 39 .net c# asp.net button event-handling

我正在动态地在页面上创建一个按钮.现在我想在该按钮上使用按钮单击事件.

我怎样才能在C#ASP.NET中执行此操作?

aba*_*hev 55

Button button = new Button();
button.Click += (s,e) => { your code; };
//button.Click += new EventHandler(button_Click);
container.Controls.Add(button);

//protected void button_Click (object sender, EventArgs e) { }
Run Code Online (Sandbox Code Playgroud)

  • 您必须在OnInit方法中创建按钮,否则事件处理程序将无法工作 (2认同)
  • 首先thnx在这个你写的按钮.点击+ =(s,e)=> {你的代码; }; s =对象发送者和e =事件参数ri8?但是然后按钮点击事件也不火...你可以解释一下它是如何工作的.. (2认同)
  • 动态生成的事件必须在!IsPostBack 之外的 Page_Load/Page_Init 事件中注册。 (2认同)

A9S*_*9S6 37

新手更容易:

Button button = new Button();
button.Click += new EventHandler(button_Click);

protected void button_Click (object sender, EventArgs e)
{
    Button button = sender as Button;
    // identify which button was clicked and perform necessary actions
}
Run Code Online (Sandbox Code Playgroud)

  • 什么是非新手版本? (7认同)

2GD*_*Dev 11

只需在创建时将eventhandler添加到按钮即可.

 button.Click += new EventHandler(this.button_Click);

void button_Click(object sender, System.EventArgs e)
{
//your stuff...
}
Run Code Online (Sandbox Code Playgroud)


小智 7

这样做容易得多:

Button button = new Button();
button.Click += delegate
{
   // Your code
};
Run Code Online (Sandbox Code Playgroud)