Foros del Web » Programación para mayores de 30 ;) » .NET »

Control de usuario creado dinámicamente

Estas en el tema de Control de usuario creado dinámicamente en el foro de .NET en Foros del Web. Hola! me he creado un control de usuario que contiene una etiqueta (asp:Label) y un Datagrid (asp:DataGrid). Necesito insertar dinámicamente el control de usuario en ...
  #1 (permalink)  
Antiguo 24/02/2010, 09:52
 
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 51
Antigüedad: 16 años, 4 meses
Puntos: 1
Control de usuario creado dinámicamente

Hola!

me he creado un control de usuario que contiene una etiqueta (asp:Label) y un Datagrid (asp:DataGrid).

Necesito insertar dinámicamente el control de usuario en una página asp porque cada uno corresponde con una compra, y en principio no se cuantas compras voy a tener. El control lo inserto de la siguiente forma:

Código:
foreach (CCompra oCompra in lista)
{
controles_wucCompra UC = new controles_wucCompra(); UC.prNombre = oCompra.prNombre; UC.prProductos = oCompra.prProductos; phCompras.Controls.Add(UC);
}
El control de usuario que me he creado es controles_wucCompra. Contiene dos propiedades, prNombre que corresponde al label que os comentaba antes, y prProductos que corresponde con el datasource del datagrid que también os comentaba antes.

Hasta ahí todo bien, el problema surge cuando en esta línea

Código:
UC.prNombre = oCompra.prNombre;
que si accedo a la declaración de la propiedad del control

Código:
public string prNombre
{
get { return lblNombre.Text; } set { lblNombre.Text = value; }
}
me da una excepción de Referencia a objeto no establecida, porque lblNombre es null.

¿Alguién sabe si tb tengo que inicializar los controles que hay dentro del control de usuario que me he creado y como hacerlo?


Muchisimas gracias
  #2 (permalink)  
Antiguo 24/02/2010, 10:04
 
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 51
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Control de usuario creado dinámicamente

Ya he encontrado la solución, un poco obvia, que no se me había ocurrido antes.

Simplementa le pongo un constructor al control de usuario en el que inicio los controles del mismo. Por ejemplo:

lblNombre = new Label();

y así funciona perfectamente.

Gracias

Etiquetas: control, usuarios
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:39.