2009-08-19 9 views
0

J'utilise un contrôle de substitution dans ma page maître et je souhaite afficher un contenu de contrôle utilisateur (lié à la zone de connexion de mon site Web) dans la substitution . On dirait que je dois avoir une référence pour la page demandée afin qu'elle puisse rendre le contrôle. Mais j'ai besoin de rendre le contrôle dans la page maître elle-même, car elle est partagée sur plusieurs pages de mon site Web. Quelles sont les lignes directrices pour y parvenir?Rendu d'un contrôle ASP.NET dans la page maître code-behind

TKS

+0

j'ai pu charger le contrôle de l'utilisateur, mais ASP.NET se plaint que les informations pour l'état sont invalides ou corrompus. J'ai chargé le contrôle utilisateur de cette façon: Page pageHolder = new Page(); UserControl viewControl = (UserControl) pageHolder.LoadControl ("MyControl.ascx"); pageHolder.Controls.Add (viewControl); StringWriter output = new StringWriter(); HttpContext.Current.Server.Execute (pageHolder, sortie, false); return output.ToString(); – gsb

+0

Le pageHolder ne sera-t-il pas rendu automatiquement lorsque la page est affichée? Je ne suis pas sûr de savoir pourquoi vous l'avez rendu vous-même en premier. En outre, si vous avez des contrôles de formulaire dans votre contrôle utilisateur mais que vous n'avez pas non plus de '

' autour, il se plaindra de l'état invalide. –

Répondre

0

Donc, vous voulez rendre un contrôle utilisateur de votre MasterPage code-behind, et l'ajouter à une substitution qui est aussi dans la page principale? Pourquoi avez-vous besoin d'une référence à la page qui utilise le maître?

En supposant que votre utilisation de VB et que je comprends votre question, essayez dans votre MasterPage code-behind:

Dim someControl As MyControl = CType((New Page()).LoadControl("~/Path/To/MyControl.ascx"), MyControl) 
mySubstitution.Controls.Add(someControl) 
+0

Le contrôle de substitution dont je parle est le http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.substitution.aspx, utilisé pour les pages mises en cache. (: – gsb

Questions connexes