Ответ 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) { }
Я создаю одну кнопку на странице динамически. Теперь я хочу использовать кнопку нажатия кнопки на этой кнопке.
Как это сделать на С# ASP.NET?
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) { }
Легче для новичков:
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
}
Просто добавьте обработчик событий к кнопке при ее создании.
button.Click += new EventHandler(this.button_Click);
void button_Click(object sender, System.EventArgs e)
{
//your stuff...
}
Это гораздо проще сделать:
Button button = new Button();
button.Click += delegate
{
// Your code
};
Скажем, у вас есть 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);
...
}