Estoy creando un botón en una página dinámicamente. Ahora quiero usar el botón clic evento en ese botón.
¿Cómo puedo hacer esto en 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) { }
El más fácil para los novatos:
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 }
Simplemente agregue el manejador de eventos al botón al crearlo.
button.Click += new EventHandler(this.button_Click); void button_Click(object sender, System.EventArgs e) { //your stuff... }
Es mucho más fácil de hacer:
Button button = new Button(); button.Click += delegate { // Your code };
Supongamos que tiene 25 objetos y desea que un proceso maneje cualquier evento de clic de un objeto. Puede escribir 25 delegates o usar un bucle para manejar el evento de clic.
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); ... }