domingo, setembro 12, 2010

Carregar User Controls em runtime

É possível carregar Usercontrols em runtime usando o método Loadcontrol. É ainda possível definir valores para propriedades que tenhamos criado para os mesmos.

Para podermos carregar os Usercontrol, temos de dizer onde queremos que eles apareçam na nossa página e para isso usamos por exemplo o objecto PlaceHolder:

 Control FeaturedProductUserControl = LoadControl(Request.ApplicationPath + "/UserControls/UCfeeds.ascx");
  
           FeaturedProductUserControl.ID = "UsercontrolID" + counter.ToString();
  
           Type typ = FeaturedProductUserControl.GetType();
  
           //Procurar propriedade definida no objecto Usercontrol
  
           System.Reflection.PropertyInfo pi = typ.GetProperty("nome");
  
           pi.SetValue(FeaturedProductUserControl, "nome", null);
  
           plh1.Controls.Add(FeaturedProductUserControl);  

Sem comentários: