miércoles, 5 de junio de 2013

Crear controles de usuario (.ascx) dinámicamente o hacerle Cast desde el code behind

Cuando creamos un control de usuario (.ascx) a veces es necesario hacerle un Cast desde el code behind de la página, para crearlos dinámicamente o simplemente para buscarlo y cambiarle las propiedades de manera dinámica, este es el ejemplo de cómo se realiza en Cast: Primero en el archivo .aspx donde vamos a usar el control, agregamos la referencia por medio de la siguiente linea:
 
<%@ Register src="MiControlUsuario.ascx" tagname="MiControlUsuario" tagprefix="uc1" %>
 
        //Como ejemplo, vamos a buscar el control de usuario creado con la línea anterior, 
        //para hacer el Cast usamos en namespace ASP. 
        //Para este caso en particular buscamos el ClientID y se lo asignamos a una variable.
        String vClientId = ((ASP.micontrolusuario_ascx)Page.FindControl("MiControlUsuario1")).ClientID;

        //También podríamos crear dinámicamente un nuevo control y agregarlo, de la siguiente manera:
        ASP.micontrolusuario_ascx vNuevoControlDinamico = new ASP.micontrolusuario_ascx();
        vNuevoControlDinamico.ID = "MiControlGeneradoDinamicamente";
        Page.Controls.Add(vNuevoControlDinamico);

No hay comentarios:

Publicar un comentario