Как создать динамическое событие нажатия кнопки на динамической кнопке?

Я создаю одну кнопку на странице динамически. Теперь я хочу использовать кнопку нажатия кнопки на этой кнопке.

Как это сделать на С# ASP.NET?

Ответ 1

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) { }

Ответ 2

Легче для новичков:

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
}

Ответ 3

Просто добавьте обработчик событий к кнопке при ее создании.

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

void button_Click(object sender, System.EventArgs e)
{
//your stuff...
}

Ответ 4

Это гораздо проще сделать:

Button button = new Button();
button.Click += delegate
{
   // Your code
};

Ответ 5

Скажем, у вас есть 25 объектов и требуется, чтобы один процесс обрабатывал событие с одним объектом. Вы можете написать 25 делегатов или использовать цикл для обработки события click.

public form1()
{
    foreach (Panel pl  in Container.Components)
    {
        pl.Click += Panel_Click;
    }
}

private void Panel_Click(object sender, EventArgs e)
{
    // Process the panel clicks here
    int index = Panels.FindIndex(a => a == sender);
    ...
}