Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2011, 03:02
JorgeOve
 
Fecha de Ingreso: marzo-2011
Mensajes: 4
Antigüedad: 13 años, 1 mes
Puntos: 0
Problema con la creación de botones y .Click

Hola!

Les comento mi problema, estoy haciendo una aplicación web con ASP y C# en al que realizo una serie de búsquedas en unos archivos almacenando los resultados en un array de strings. Posteriormente creo de forma dinámica una tabla en la que muestro los resultados. En dicha tabla, el último campo es un botón que al presionarlo mostrará un vídeo acorde a la fila te la tabla en la que éste estaba.

Pues bien, todo funciona a la perfección excepto que al presionar el botón no hay manera humana de hacer que se ejecute la función asociada al botón. Les pego el código de la función "mostrarResultados()" que es donde se crean los botones.

n es el número de filas del array resultados[,]. Lo muestra perfectamente todo, incluido el botón, lo que no hace es ejecutar la función boton_Click() asociada al botón.

public void mostrarResultados()
{
Button boton;

for (int i = 0; i < n; i++)
{
TableCell cel0 = new TableCell();
TableCell cel1 = new TableCell();
TableCell cel2 = new TableCell();
TableCell cel3 = new TableCell();
TableCell cel4 = new TableCell();
TableCell cel5 = new TableCell();
TableCell cel6 = new TableCell();

cel0.Width = 70;
cel1.Width = 70;
cel2.Width = 30;
cel3.Width = 90;
cel4.Width = 90;
cel5.Width = 90;
cel6.Width = 80;

cel0.Text = resultados[i, 0];
cel1.Text = resultados[i, 1];
cel2.Text = resultados[i, 2];
cel3.Text = resultados[i, 3];
cel4.Text = resultados[i, 4];
cel5.Text = resultados[i, 5];

boton = new Button();
boton.Text = "Ver videos";
boton.ID = Convert.ToString(i);
boton.Click += new EventHandler(boton_Click);

cel6.Controls.Add(boton);

TableRow newRow = new TableRow();
newRow.Cells.Add(cel0);
newRow.Cells.Add(cel1);
newRow.Cells.Add(cel2);
newRow.Cells.Add(cel3);
newRow.Cells.Add(cel4);
newRow.Cells.Add(cel5);
newRow.Cells.Add(cel6);
newRow.HorizontalAlign = HorizontalAlign.Center;

TablaResultados.Rows.Add(newRow);
}

}

protected void boton_Click(object sender, EventArgs e)
{
Button boton = (Button)sender;
...
}


Espero que puedan ayudarme porque llevo 2 semanas atascado en este punto ya que el resto de la aplicación web funciona a la perfección y estoy bastante desesperado...

Muchas gracias!

Un saludo ;)