Question

Je dois récupérer la représentation codée en base64 du ViewState.Évidemment, cela ne serait disponible qu’assez tard dans le cycle de vie de la demande, ce qui est acceptable.

Par exemple, si le résultat de la page inclut :

<input type="hidden" name="__VIEWSTATE" 
  id="__VIEWSTATE" value="/wEPDwUJODU0Njc5MD...==" />

J'ai besoin d'un moyen côté serveur pour obtenir la valeur "/wEPDwUJODU0Njc5MD...=="

Pour clarifier, j'ai besoin de cette valeur lorsque la page est rendue, pas lors de PostBack.par exemple.J'ai besoin de connaître la valeur ViewState en cours envoyé au client, pas au ViewState que je reçois d'eux.

Était-ce utile?

La solution

Rex, je pense qu'un bon point de départ pour commencer à chercher est de trouver des solutions qui compresser le ViewState -- ils récupèrent ViewState sur le serveur avant qu'il ne soit envoyé au client et le compressent.C'est exactement là que vous voulez être.

Autres conseils

Regarde ça article de blog où l'auteur décrit une méthode pour remplacer le comportement par défaut pour générer le ViewState et montre à la place comment l'enregistrer sur l'objet Session du serveur.

Dans ASP.NET 2.0, ViewState est enregistré par un descendant de la classe PagestatePrser.Cette classe est une classe abstraite pour enregistrer et charger des vues STATE et il existe deux descendants implémentés de cette classe dans .NET Framework, nommé HiddenFieldPageStatePrseter et SessionPageStatePersister.Par défaut, HiddenFieldPageStatePrseter est utilisé pour enregistrer / charger les informations ViewState, mais nous pouvons facilement obtenir le SessionPagEstatePerSister pour travailler et enregistrer ViewState dans l'objet Session.

Bien que je n'aie pas testé son code, il semble montrer exactement ce que vous voulez :un moyen d'accéder au code ViewState tout en étant sur le serveur, avant la publication.

J'ai activé la compression suite à des articles similaires à ceux publiés ci-dessus.La clé pour accéder au ViewState avant que l'application ne l'envoie remplaçait cette méthode ;

protected override void SavePageStateToPersistenceMedium(object viewState)

Vous pouvez appeler la méthode de base dans ce remplacement, puis ajouter la logique supplémentaire dont vous avez besoin pour gérer ViewState.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top