Foros del Web » Programando para Internet » ASPX (.net) »

Problema con la creación de botones y .Click

Estas en el tema de Problema con la creación de botones y .Click en el foro de ASPX (.net) en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/03/2011, 03:02
 
Fecha de Ingreso: marzo-2011
Mensajes: 4
Antigüedad: 13 años
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 ;)
  #2 (permalink)  
Antiguo 29/03/2011, 15:20
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: Problema con la creación de botones y .Click

Creo que tu error viene aqui..

boton.ID = Convert.ToString(i);

Veo que le asignas el nombre de id a cada boton que creas el problema aqui es: que no puede ser numerico en ningún lenguaje de programación se permite que el nombre empiece con numero.. intenta hacer esto

boton.ID = "var" + Convert.ToString(i);

Así el nombre empezara por letra y te lo tomara bien.....


Saludos....
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #3 (permalink)  
Antiguo 30/03/2011, 01:46
 
Fecha de Ingreso: marzo-2011
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema con la creación de botones y .Click

Desgraciadamente, no es ese el problema. El ID es un String sin más, no como un nombre de variable. O al menos eso creo yo, de todas formas he probado a ponerlo como me has dicho con el "var" pero nada de nada... :(

Seguiré dándole vueltas.

Gracias de todas formas!!!

Etiquetas: asp, c#, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:43.