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:
Amigo muchas gracias tu información me sirvió de mucho. Es exactamente lo que andaba buscando.
Saludos
Publicar un comentario