2009-03-26 9 views
1

J'ai une page avec (EnableViewState = "true") qui a un contrôle parent avec (EnableViewState = "true"). Le contrôle parent charge un contrôle enfant.EnableViewState Question dans les contrôles utilisateur imbriqués - ASP.NET

Dans le contrôle enfant, j'ai un objet viewstate qui est assigné à null sur les publications. Ce qui est étrange, c'est que si j'ai défini EnableViewState = "true" sur le contrôle enfant, tout fonctionne correctement.

J'ai cru comprendre que cette directive est vraie par défaut. Comment est-ce important que je mette cela explicitement ou non?

+0

utilisez-vous LoadControl()? – AndreasN

+0

Oui, j'utilise Loadcontrol – DotnetDude

+0

La propriété EnableViewState, lorsqu'elle n'est pas définie, est vraie par défaut à l'exception de LiteralControl et de celles chargées par CheckBoxList, Wizzard et d'autres contrôles. Quel contrôle charge quoi? – Ruslan

Répondre

0

Est-ce que ViewState est désactivé dans le fichier web.config?

+0

Non, ce n'est pas désactivé dans web.config – DotnetDude

+0

Pourriez-vous poster du code à partir du contrôle enfant? –

+0

Est-ce que ce contrôle est ajouté dynamiquement, avec la méthode LoadControl dans codebehind? –

3

Si vous utilisez LoadControl() pour charger les contrôles, asp.net ne sait pas comment restaurer ces contrôles lors de la publication. Si vous vous assurez que toutes les commandes sont chargées dans Page_Init, l'état d'affichage sera chargé dans les contrôles.

Ce control fait un peu de ces choses pour vous

Questions connexes