<input type="hidden" name="__VIEWSTATE"... value est bcp trop long

cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 - 28 août 2008 à 17:51
cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 - 29 août 2008 à 07:54
Bonjour,

Question de postback, les pages asp.net une fois générées produisent un code HTML avec des balises masquées, comme celle-ci :
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJN...."/>

Mon souci est que le value de cet input est monstrueusement long, 97000 caractères dans mon cas soit quasiment 100K0 de plus pour la taille générale de ma page.

Ma question est la suivante, est-il possible de minimiser la taille de ce value. Doit on regénérer la solution ou quelque chose de cet ordre là pour espérer diminuer cette taille ?

Merci pour vos réponses

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 août 2008 à 19:25
Salut

Il faut utiliser 


myControl.EnableViewState = False




ou
tu mets False à la propriété EnableViewState de ta page.

( dans ce cas il peut
avoir de la perte de données ou des controles qui marche moins bien






Bon coding
0
cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 1
28 août 2008 à 19:31
Oui mais en effet ça ne me convient pas, j'ai déjà essayé et je perds la mémoire de certaines données avec des postback partiel obligatoires dans mes pages.

Merci quand même
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 août 2008 à 19:51
Utilises
myControl.EnableViewState = False

sur des controles comme les labels (si il ne sont pas modifiés entre les postback)
0
cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 1
28 août 2008 à 20:14
Certes mais certaines de mes pages possèdent peu de contrôles serveurs et pourtant le value de cet input reste énorme. Alors même méthodiquement, je n'arriverai pas à grand chose, en plus au risque de perdre certaines données.


En fait je ne comprends pas la taille de ce value, même s'il s'agit d'une restitution après postback. Je travaille avec VS2005 et je me demande si le value généré ne peut pas être optimisé par une action automatisée ou robotisée à la source.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
28 août 2008 à 21:39
Bonsoir,

Le viewstate quelle grande aventure ! Afin de bien comprendre ce que c'est je te conseille (vraiment !) de prendre le temps de lire cet excellent article : http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx

Une fois le fonctionnement du viewstate en tête reste à voir comment l'optimiser. Tout d'abord regardons ce qu'il contient : ViewstateDecoder est l'outil qu'il nous faut http://www.dotnetspider.com/resources/8027-ViewState-Decoder.aspx à partir de la tu pourras comprendre qui est le responsable et décider (ou non) de mettre enableviewstate à true ou false. Il faut savoir que les controles ne sont pas les seuls responsables, tu peux également ajouter directement des éléments dans le viewstate en utilisant la propriété Viewstate["toto"] = object;

Si après avoir analysé et approuvé chacun des items contenu dans le viewstate (et j'insiste sur l'analyse des éléments du viewstate) le viewstate est toujours trop gros, on peut toujours sauvegarder le viewstate coté serveur, je parle de tout ca ici : http://blogs.developpeur.org/cyril/archive/2008/01/02/optimisation-viewstate-enregistrer-server-Session-sessionpagestatepersister-PageStatePersister.aspx

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 1
29 août 2008 à 07:54
Salut Jesus,

Affaire corsé en effet. Je viens de lire l'article de ton blog en biais. Je l'ai enregistré pour pouvoir le travailler dès que j'aurai un moment puisqu'a priori certaines choses ne sont pas à prendre à la légère.

Merci en tous cas
0
Rejoignez-nous