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

Problemas con WUC creados dinámicamente

Estas en el tema de Problemas con WUC creados dinámicamente en el foro de .NET en Foros del Web. Tengo una web form que contiene un place holder llamado Example, cuando sucede el Page_Load en mi web form, estoy creando dinámicamente un WUC llamado ...
  #1 (permalink)  
Antiguo 04/03/2005, 13:44
Avatar de see07  
Fecha de Ingreso: abril-2004
Ubicación: México, D.F.
Mensajes: 112
Antigüedad: 20 años, 6 meses
Puntos: 0
Problemas con WUC creados dinámicamente

Tengo una web form que contiene un place holder llamado Example, cuando sucede el Page_Load en mi web form, estoy creando dinámicamente un WUC llamado WebUserControl3 en mi place holder.
WebUserControl3 tiene varios l text boxes, un botón y una label, cuando se oprime el botón estoy ejecutando un cierto cálculo cuyo resultado coloco en la label. Pero cuando el usuario oprime el botón se produce el Page_Load en la web form que contiene mi place holder necesito crear mi WUC mas los datos que allí estaban contenidos. He tratado con ViewState y variables de session pero aún no logro pasar los datos del WUC a la web form para recrear el WUC y sus datos. Obviamente el WUC es creado nuevamente sin datos. Sin embargo si introduzco de nuevo los datos en el WUC y oprimo de nuevo el botón los datos se despliegan bien.
¿Por qué la primera vez no está funcionando y a partir de la segunda vez funciona correctamente?
Mi código es:

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
}
else
{
Example.Controls.Clear();
Control control = this.Page.LoadControl("WebUserControl3.ascx");
Example.Controls.Add(control);
}
}

Gracias anticipadamente por la ayuda que me puedan brindar.

A.L.
__________________
El hombre que tiene amigos ha de mostrarse amigo....
  #2 (permalink)  
Antiguo 04/03/2005, 16:46
Avatar de see07  
Fecha de Ingreso: abril-2004
Ubicación: México, D.F.
Mensajes: 112
Antigüedad: 20 años, 6 meses
Puntos: 0
Por favor, si alguien tiene una idea, digala...
__________________
El hombre que tiene amigos ha de mostrarse amigo....
  #3 (permalink)  
Antiguo 04/03/2005, 16:55
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
En este caso, como lo estas cargando de formar dinámica siempre tiene que estar en el page load de la página padre.

Quedaría algo así:

Cita:
private void Page_Load(object sender, System.EventArgs e)
{
Control control = this.Page.LoadControl("WebUserControl3.ascx");
Example.Controls.Add(control);
}
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 07/03/2005, 09:41
Avatar de see07  
Fecha de Ingreso: abril-2004
Ubicación: México, D.F.
Mensajes: 112
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias Rootk, precisamente eso es lo que ya estoy haciendo y no me funciona
__________________
El hombre que tiene amigos ha de mostrarse amigo....
  #5 (permalink)  
Antiguo 07/03/2005, 11:58
Avatar de see07  
Fecha de Ingreso: abril-2004
Ubicación: México, D.F.
Mensajes: 112
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola:
Finalmente encontré la solución.
Por alguna razón la página no se crea con la misma Id. de control la primera vez como ocurre en las veces subsecuentes, para corregirlo inserté esta linea:
control.ID="WebUserCotrol3"; así:

Example.Controls.Clear();
Control control = this.Page.LoadControl("WebUserControl3.ascx");
control.ID="WebUserCotrol3";
Example.Controls.Add(control);

Espero esto sirva de ayuda a otras personas.

Saludos.

A.L.
__________________
El hombre que tiene amigos ha de mostrarse amigo....
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 13:44.