2009-06-25 4 views
0

J'essaye de construire un CompositeControl qui est flexible. En fonction de certains de ses paramètres, je voudrais que mon CompositeControl charge différents contrôles utilisateur dans sa méthode CreateChildControls. Les UserControls exact ne sont pas connus au moment du design.Est-il possible d'ajouter un UserControl à un contrôle Composite?

Tout comme un exemple rapide, j'ai essayé avec un « codé en dur » UserControl et il a échoué:

protected override void CreateChildControls() 
    {    
     Control UserControlControl = Page.LoadControl(typeof(MyUserControl), null); 
     Controls.Add(UserControlControl); 
     Label RegularControl = new Label(); 
     RegularControl.Text = "This gets displayed"; 
     Controls.Add(RegularControl); 
    } 

Est-il possible d'atteindre ce que je cherche?

Merci

+0

Quel était le message d'échec? – womp

Répondre

2

Effectuez les opérations suivantes:

protected override void CreateChildControls() 
{    
      Control UserControlControl = Page.LoadControl("~/path/to/control.ascx"); 
      Controls.Add(UserControlControl); 
} 
+0

Ouais, ça l'a fait. Cela fera, mais je serais toujours curieux d'apprendre comment utiliser l'autre méthode de surcharge avec le type comme argument. –

Questions connexes