Controles dinamicos ASP.NEt

08/08/2007 - 19:34 por Robert Barreiro | Informe spam
Gente, que tal como les va? Tengo una duda existencial: existe vida despues
de la muerte? No, mentira, eso no.

Resulta que tengo una página ASP.NET la cual debe crear un numero de cajas
de texto (TextBoxes) en base a una propiedad que se establece previamente
(cabe destacar que no es una pagina en si, sino un UserControl el cual se
encarga de mostrar n cajas de texto en base al numero pasado como
parametro). Lo que hace el control en forma simple sería algo asi como:

protected void Page_Load(object sender, EventArgs e)
{
for (int i = 1; i <= CantControles ; i++)
{
TextBox textBox = new TextBox();
textBox.ID = "TB" + i.ToString();
textBox.Text = i.ToString();

Page.Controls.Add(textBox);
}
}

Bueno, el tema es que estoy obteniendo un mensaje de error hermoso del tipo

System.Web.HttpException: The control collection cannot be modified during
DataBind, Init, Load, PreRender or Unload phases.

Evidentemente algo estoy haciendo mal. Alguien tiene idea de como crear
controles ASP.NET de forma dinámica?


Muchísimas gracias por la ayuda.


Robert
 

Leer las respuestas

#1 Robert Barreiro
08/08/2007 - 19:41 | Informe spam
Ok, lo resolví utilizando un Panel y agregando los controles al Panel. De
todas formas, este aproach esta bien o existe una forma mas adecuada de
hacerlo?


Salu :)


"Robert Barreiro" escribió en el mensaje
news:%
Gente, que tal como les va? Tengo una duda existencial: existe vida
despues de la muerte? No, mentira, eso no.

Resulta que tengo una página ASP.NET la cual debe crear un numero de cajas
de texto (TextBoxes) en base a una propiedad que se establece previamente
(cabe destacar que no es una pagina en si, sino un UserControl el cual se
encarga de mostrar n cajas de texto en base al numero pasado como
parametro). Lo que hace el control en forma simple sería algo asi como:

protected void Page_Load(object sender, EventArgs e)
{
for (int i = 1; i <= CantControles ; i++)
{
TextBox textBox = new TextBox();
textBox.ID = "TB" + i.ToString();
textBox.Text = i.ToString();

Page.Controls.Add(textBox);
}
}

Bueno, el tema es que estoy obteniendo un mensaje de error hermoso del
tipo

System.Web.HttpException: The control collection cannot be modified during
DataBind, Init, Load, PreRender or Unload phases.

Evidentemente algo estoy haciendo mal. Alguien tiene idea de como crear
controles ASP.NET de forma dinámica?


Muchísimas gracias por la ayuda.


Robert


Preguntas similares