Dans le but d'accélérer mon site, j'essaie de désactiver le viewstate car je ne pense pas l'utiliser partout. J'ai une configuration de page maître avec les contrôles utilisateur chargés (en utilisant LoadControl) dans default.aspx. Ma mise en page typique serait:ViewState Disabled - La liste déroulante ne retourne pas les valeurs
Main.master -> Default.aspx -> ControlWrapper.ascx -> MyControl.ascx
J'ai mis EnableViewState = "false" dans ma page Default.aspx. Maintenant, quand j'essaie de lire une valeur à partir d'un DropDownList in MyControl.ascx
, il revient vide lorsque le formulaire est posté. Tout d'abord, pourquoi est-ce? Je pensais que je devrais encore être capable de lire la valeur de la liste déroulante?
J'ai ensuite essayé d'activer ViewState sur ce contrôle et cela n'a pas fonctionné.
J'ai également essayé d'activer viewstate sur l'événement Page_Init
de MyControl.ascx
en utilisant Page.EnableViewState = True;
mais cela n'a pas aidé non plus.
Je suppose que je suis un peu malentendu le viewstate, quelqu'un peut-il me diriger dans la bonne direction s'il vous plaît?
p.s Je ne sais pas si cette information est pertinente mais j'ajoute dynamiquement le contenu de DropDownList dans l'événement Page_Load. (Penser à ce sujet, cela pourrait-il être les problèmes - Test cela maintenant).
Merci.
Ok, j'utilise .NET 2.0 (désolé de ne pas pouvoir dire dans OP), est-ce que cela fait une différence à l'un des points? – webnoob
Si je me souviens bien, non, cela ne devrait pas faire de différence. ASP.NET 4 vous donne juste quelques options supplémentaires pour gérer votre ViewState. Vous en aurez toujours besoin pour votre page et votre contrôle si vous voulez être en mesure de récupérer la valeur sélectionnée de votre liste déroulante. Si j'étais vous, je l'allumerais par défaut, et l'éteindrais sélectivement là où c'est logique. Si vous avez des problèmes de performances, vous pouvez utiliser d'autres méthodes, telles que l'enregistrement de ViewState dans une base de données. – BrandonZeider
Comment l'enregistrer dans une base de données fonctionnerait-il? Pouvez-vous recommander des articles pour cela? – webnoob