Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   acceso a controles en forma dinamica (http://www.forosdelweb.com/f78/acceso-controles-forma-dinamica-492476/)

kisko84 24/05/2007 09:49

acceso a controles en forma dinamica
 
saludos a todos los del foro quisiera saber si alguien me puede ayudar resulta que estoy haciendo una aplicación en asp.net 2.0 la cual es un formulario donde se introduce una pregunta la cual puede tener de 1 a 10 respuestas, el detalle es que si creo en forma dinámica los controles como le hago para accesar a la propiedad text para saber lo que el usuario escribió en ellos.
y si los creo en tiempo de diseño, como hago para cambiarles la propiedad visible con un ciclo con un for lo que estoy haciendo es esto
Código:

For i = 1 To num
            txtResp = Form.FindControl("Textbox" + i.ToString)
            txtResp.ID = "Textbox" + i.ToString
            txtResp.Visible = True
            radio = Form.FindControl("RadioButton" + i.ToString)
            radio.Visible = True
        Next

pero este código me dice que no esta iniciada la instancia
espero que alguien me pueda ayudar. o plantear alguna otra forma de ahcer esto.

Yaraher 24/05/2007 10:46

Re: acceso a controles en forma dinamica
 
¿Puedes describir como los estás creando?
Los controles son objetos iguales a los que estás acostumbrado a usar, así que tienen que haber sido inicializados previamente.

Algo muy sencillo que puedes hacer, para evitar el Form.FindControl, es crear los objetos en un arreglo, inicializarlos dentro de un foreach o un for normal que lo recorra y listo, cuando deseas modificarlos, recorrer ese arreglo y modificarlo (por ejemplo -código en C#, no recuerdo bien mi VB :P-:

foreach (Button button in buttonArray) {
button.visible = true;
}

Suerte!

kisko84 25/05/2007 22:17

Re: acceso a controles en forma dinamica
 
gracias ahora me doy una idea de lo que dices lo voy a intentar luego les comento como me fue. gracias de cualquier manera.

la forma en que los estoy creando es la siguiente:

Código:

dim caja as textbox
for i=0 to num
  caja = new textbox
  caja.ID = "TxtRes" + i.tostring
  reg = New TableRow
  celda = New TableCell
  celda.Controls.Add(caja)
  reg.Cells.Add(celda)
  Tblresp.Rows.Add(reg)
next



La zona horaria es GMT -6. Ahora son las 09:30.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.