Supón que tienes que hacer una web cuya interfaz la configure un usuario. Esta web no es otra cosa que una composición de UserControls y estos los vas a tener que ir cargando en función de un fichero de configuración. ¿Cómo hacerlo?
Cargando UserControls dinámicamente.
ASP.NET nos permite cargar UserControls en la página dinámicamente y para ello nos proporciona el método LoadControl.
A este método le podemos pasar el path del control o el tipo de control y un array de parámetros, aunque si os soy sincero siempre que he intentado hacer un LoadControl en función del tipo, por algo que no entiendo nunca me ha funcionado (aunque si compila e instancia el control).
Una vez hecho esto lo que nos queda es añadirlo a la colección de controles, y el código necesario para realizar esto sería el siguiente :
UserControl control = (UserControl)Page.LoadControl(string.Format("~/UserControls/{0}.ascx", controlName));
Page.Controls.Add(control);
Enlaces relacionados
Pues tan simple como esto, aunque si tienes algo que decir y/o preguntar, no dudes en hacerlo.
Muy buen post, lo único que podria agregar es que el control deberia ser agregado dentro de un container runat=»server» .
Saludos
si señor, el control se tiene que añadir a otro control de servidor.
gracias por el matiz y por visitar este blog.
saludos.
Gracias!
Gran ayuda para comenzar !!
Saludos
Gracias Rodrigo.
No se que ha pasado que no había contestado a tu comentario.
Un saludo y muchas gracias.
Gran ayuda, saludos
Muchas gracias Neo.
Me alegro que haya sido de utilidad.
Un saludo.
hola tengo un usercontrol UC1 y dentro de el tengo un texbox x:Name=»texto» el cual contiene un dato …. luego este UC1 abre otro Usercontrol UC2 ,,,.pero cuando quiero llamar a ese texto del uc1 no puedo.
tienen alguna solucion !
Hola Victor.
Gracias por comentar en este blog. Necesito un poco más de información:
¿UC2 lo cargas dinámicamente?
¿UC2 lo abres haciendo postback?
Espero tu respuesta.