Web User Control dinámico
Publicado por Héctor B. (3 intervenciones) el 10/11/2004 00:03:23
Hola a todos.
En un proyecto web de ASP.Net y C#,
tengo un formulario web con 3 botones y 3 placeholders
cada uno de los cuales contiene un Web User Control,
cuando hago clic sobre el botón 1 se muestra el WUC1,
sobre el botón 2 muestra el WUC2 y sobre el botón 3 se
muestra el WUC3, la solución que obtuve fue poner de
entrada invisibles los 3 placeholders y en función del
botón oprimido hago visible solo el placeholder
correspondiente, por ejemplo en el clic del botón 1:
this.PlaceHolder1.Visible = true;
this.PlaceHolder2.Visible = false;
this.PlaceHolder3.Visible = false;
Así me funciona, pero tengo cargados los 3 WUC, lo
cual me parece no es muy eficiente, por ello estoy
tratando de cargar dinámicamente cada WUC en función
del botón oprimido, por ejemplo en el clic del botón 1:
private void btn1_Click(object sender,
System.EventArgs e){
this.PlaceHolder1.Controls.Clear();
this.PlaceHolder2.Controls.Clear();
this.PlaceHolder3.Controls.Clear();
this.PlaceHolder1.Controls.Add(LoadControl("WUC1.ascx"));
//Así cargo solo el WUC necesario
}
El problema es que me carga bien los WUC, muestra bien
los datos, pero no puedo ejecutar los eventos de
dichos WUC, pues en cada WUC tengo un botón para hacer
algunos cálculos, y al poner un punto de interrupción
no entra en el clic de los botones, pues al hacer el
page_load de un WUC se ejecuta el evento load de la
página que lo llama, posiblemente es un problema de la
carga dinámica de los controles, ¿Alguna idea o sugerencia?
Gracias de antemano.
En un proyecto web de ASP.Net y C#,
tengo un formulario web con 3 botones y 3 placeholders
cada uno de los cuales contiene un Web User Control,
cuando hago clic sobre el botón 1 se muestra el WUC1,
sobre el botón 2 muestra el WUC2 y sobre el botón 3 se
muestra el WUC3, la solución que obtuve fue poner de
entrada invisibles los 3 placeholders y en función del
botón oprimido hago visible solo el placeholder
correspondiente, por ejemplo en el clic del botón 1:
this.PlaceHolder1.Visible = true;
this.PlaceHolder2.Visible = false;
this.PlaceHolder3.Visible = false;
Así me funciona, pero tengo cargados los 3 WUC, lo
cual me parece no es muy eficiente, por ello estoy
tratando de cargar dinámicamente cada WUC en función
del botón oprimido, por ejemplo en el clic del botón 1:
private void btn1_Click(object sender,
System.EventArgs e){
this.PlaceHolder1.Controls.Clear();
this.PlaceHolder2.Controls.Clear();
this.PlaceHolder3.Controls.Clear();
this.PlaceHolder1.Controls.Add(LoadControl("WUC1.ascx"));
//Así cargo solo el WUC necesario
}
El problema es que me carga bien los WUC, muestra bien
los datos, pero no puedo ejecutar los eventos de
dichos WUC, pues en cada WUC tengo un botón para hacer
algunos cálculos, y al poner un punto de interrupción
no entra en el clic de los botones, pues al hacer el
page_load de un WUC se ejecuta el evento load de la
página que lo llama, posiblemente es un problema de la
carga dinámica de los controles, ¿Alguna idea o sugerencia?
Gracias de antemano.
Valora esta pregunta


0