2010-05-01 4 views
0

Le code suivant ne provoque pas l'appel de Page_Load de PhotoList. Je veux que le contrôle soit initialisé comme s'il était en cycle normal de page, ce que je devrais faire.Force Page initialisation

Page pageHolder = new Page(); 
UserControl viewControl = (UserControl)pageHolder.LoadControl("Common/PhotoList.ascx"); 
pageHolder.Controls.Add(viewControl); 
+0

D'où le code est-il appelé? –

Répondre

1

Qu'est-ce que pageHolder et pourquoi créez-vous une nouvelle instance? Le motif normal est comme lorsque vous chargez le contrôle dans un contrôle de lieu.

UserControl viewControl = (UserControl) Page .LoadControl ("Common/PhotoList.ascx"); placeHolder .Controls.Add (viewControl);

L'appel de Page.Load provoquera l'événement Page_Load à se déclencher.

+0

Je dois créer une réponse AJAX, qui nécessite de rendre le contrôle sous forme de chaîne et de le renvoyer au client, il ne sera pas rendu correctement jusqu'à ce qu'il soit dans une page fictive et la page devrait avoir un cycle de vie normal. ne peut pas forcer. – Tony

+0

Quel code avez-vous dans l'événement Page_Load de PhotoList.ascx? –

+0

Pas le Page_Load j'ai besoin de faire fonctionner le cycle de la page en direct parce qu'une ObjectDataSource ne se comporte pas correctement. – Tony