24 de nov. de 2009

Carregar um UserControl em runtime

Diferente de construir uma outra classe, como por exemplo:

var controle = new ControlePessoa();

Um UserControl é definido pela sua classe C# + XHTML, e se reparar-mos, ao instanciar um UserControl no evento Page_Init de uma página (onde normalmente os controles criados em runtime são adicionados em uma página) os controles internos de um UserControl estarão nulos.

Então para carregar-mos corretamente um UserControl existe o método LoadControl(), veja:

pnlEmpresa.Controls.Add(LoadControl("~/UserControl/ctrlConsultaEmpresa.ascx"));

Assim fica garantido o correto funcionamento do UserControl.

Grato!

0 comentários: