2009-01-20 4 views

Répondre

2

Vous pouvez ajouter un contrôle de votre classe utilitaire à la page en cours, en utilisant le code suivant:

Page currentPage = HttpContext.Current.Handler as Page; 
if (currentPage != null) 
{ 
    currentPage.Controls.Add(
     currentPage.LoadControl("~/controls/MyControl.ascx")); 
} 

Il fonctionne, mais je ne recommanderais pas cela et considérer comme un hack.

+0

pas trop hacky! J'ai vu pire –

+0

J'ai aussi. C'est en fait une meilleure solution que certaines choses que j'ai faites. – TheSmurf

+0

dans mon cas, je retourne le contrôle et il est ajouté à un espace réservé plus haut dans la pile d'appel. Je vois ici que tu l'as ajouté à la page directement qui serait définitivement très hacky et évidemment ne sera probablement pas d'une grande utilité –

1

La seule façon de charger un bon contrôle de l'utilisateur (c'est-à-dire d'une manière qui va initier son cycle de vie) est d'ajouter à la collection de contrôle un autre contrôle.

Vous devrez donc transmettre une référence à la page ou une référence à un contrôle figurant sur la page et ajouter le contrôle à la collection de ce contrôle.

Questions connexes