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

Button cargar desde c# asignando evento click

Estas en el tema de Button cargar desde c# asignando evento click en el foro de ASPX (.net) en Foros del Web. Agrega el evento al boton pero no carga, este es el código: Código: Button archivo = new Button(); archivo.ID = "descaga_archivo"; archivo.Click += archivo_Click; archivo.Text ...
  #1 (permalink)  
Antiguo 04/05/2014, 19:38
Avatar de fasalgad  
Fecha de Ingreso: noviembre-2011
Ubicación: Concepción
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Exclamación Button cargar desde c# asignando evento click

Agrega el evento al boton pero no carga, este es el código:

Código:
Button archivo = new Button();
archivo.ID = "descaga_archivo";
archivo.Click += archivo_Click;
archivo.Text = codigo.ToString();

celda = new TableCell();
celda.Controls.Add(archivo);
fila.Cells.Add(celda);
La función que asigno es la siguiente:
Código:
 
void archivo_Click(object sender, EventArgs e)
    {
        Label1.Text += "Click";
    }
Espero que alguien me pueda ayudar. He leído bastante y esto es lo único que encuentro.
  #2 (permalink)  
Antiguo 06/05/2014, 09:47
Avatar de rulsanchez  
Fecha de Ingreso: octubre-2008
Ubicación: Manchester
Mensajes: 64
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Button cargar desde c# asignando evento click

Buenas fasalgad!...
Los controles de servidor no se pueden cargar directamente en la colección de controles del objeto Page porque deben pertenecer a la colección de controles del formulario de servidor

El procedimiento consiste en incluir en ese formulario un control contenedor en la página como un Panel o un PlaceHolder y añadir a su colección Controls el control

deben incluirse dentro del <form runat="server">, asi:

<form id="form1" runat="server">
<div>
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
</div>
</form>


Así que hay dos posibles soluciones:
1- Incluir en el webform un control contenedor (Panel o PlaceHolder) y adicionar el dinámico a su colección Controls.
2- Añadir a la colección Controls del formulario, accedido por su ID.

Dim dinámico = New Button
dinámico.Text = "Control dinámico"
'Me.Controls.Add(dinámico)
'Me.Panel1.Controls.Add(dinámico)
Me.form1.Controls.Add(dinámico)

(el codigo esta en vb, en c# funciona igual).

Espero que te sirva compi, ya nos cuentas.

Etiquetas: asp.net, event, handler
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 18:20.