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

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

Как это сделать на C # 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); ... } 
  • Как подписаться на события другого classа в c #?
  • Изменение флажка jQuery и событие click
  • Обработка конечного процесса приложения windows
  • Как различать перемещение и щелчок в onTouchEvent ()?
  • Почему Boost.Asio не поддерживает интерфейс на основе событий?
  • Должен ли я всегда отключать обработчики событий в методе Dispose?
  • Как отлаживать привязки событий JavaScript / jQuery к Firebug или аналогичным инструментам?
  • VBA: использование WithEvents в UserForms
  • Почему только конечные переменные доступны в анонимном classе?
  • Безопасный подъем событий - лучшая практика
  • Давайте будем гением компьютера.