Carga dinámica de User Controls

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.

Anuncio publicitario