jueves, 16 de abril de 2009

Cargando propiedades de user control creado dinamicamente

sample Me hicieron una pregunta: cómo se hace para cargar las propiedades de un control de usuario que ha sido creado dinámicamente.. en realidad la respuesta es bastante fácil, sólo que a veces no se nos ocurre cómo podría hacerse.

Vamos con un ejemplo:

Vamos a crear el control de usuario, lo llamaremos wucTest.ascx , el cual debe contener dos Labels….

<asp:Label ID="Label1" runat="server" BorderColor="red" BorderStyle="Solid"></asp:Label>
<br /><br />
<asp:Label ID="Label2" runat="server" BorderColor="green" BorderStyle="Solid"></asp:Label>

y le vamos a crear dos propiedades públicas… estas propiedades nos permitirán acceder a los Labels desde una página aspx…

Public Property ForLabel1() As String
    Get
        Return Label1.Text
    End Get
    Set(ByVal value As String)
        Label1.Text = value
    End Set
End Property

Public Property ForLabel2() As String
    Get
        Return Label2.Text
    End Get
    Set(ByVal value As String)
        Label2.Text = value
    End Set
End Property

Ahora, vamos a crear dinámicamente el control de usuario desde el Page_Load de la página aspx:

Dim Test As wucTest = CType(LoadControl("~/controls/wucTest.ascx"), wucTest)

Y le asignamos valores a los Labels, via sus propiedades:

Test.ForLabel1 = "texto 1"

Test.ForLabel2 = "texto 2"

Finalmente, cargamos el control de usuario en la página:

Page.Controls.Add(Test)

Es todo, como se habrán dado cuenta… de lo más natural.

1 comentario:

Unknown dijo...

Amigo muchas gracias tu información me sirvió de mucho. Es exactamente lo que andaba buscando.

Saludos