Wie den Wert der eingebauten codierte Viewstate zu bekommen?

stimmen
22

Ich brauche die Base64-codierte Darstellung des Viewstate zu greifen. Natürlich wäre dies erst recht spät im Anforderungslebenszyklus zur Verfügung steht, die in Ordnung ist.

Zum Beispiel, wenn die Ausgabe der Seite beinhaltet:

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

Ich muss einen Weg auf der Serverseite den Wert erhalten /wEPDwUJODU0Njc5MD...==

Um zu klären, ich brauche diesen Wert , wenn die Seite gerendert wird, nicht auf Postback. zB Ich brauche den Viewstate Wert kennen, wird gesendet an den Client, nicht die Viewstate ich bin immer wieder von ihnen.

Veröffentlicht am 04/08/2008 um 04:59
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
9

Rex, vermute ich , ein guter Ort zu beginnen, ist es, Lösungen , die die Viewstate komprimieren - sie greifen Viewstate auf dem Server , bevor es gesendet wird an den Client herunter und Gzipping es. Das ist genau , wo Sie sein möchten.

Beantwortet am 04/08/2008 um 09:04
quelle vom benutzer

stimmen
3

Sehen Sie diese Blog - Post , wo der Autor für das Überschreiben des Standardverhaltens beschreibt ein Verfahren , das zur Erzeugung von Viewstate und stattdessen zeigt , wie es auf dem Server Session - Objekt zu speichern.

In ASP.NET 2.0 wird Viewstate von einem Nachkommen von PageStatePersister Klasse gespeichert. Diese Klasse ist eine abstrakte Klasse zum Speichern und Laden ViewsState und es gibt zwei implementiert Nachkommen dieser Klasse in .NET Framework, mit dem Namen HiddenFieldPageStatePersister und SessionPageStatePersister. Standardmäßig wird HiddenFieldPageStatePersister verwendet Viewstate Informationen zu speichern / laden, aber wir können die SessionPageStatePersister zu arbeiten und speichern Viewstate in Session-Objekt leicht.

Obwohl ich nicht seinen Code testen, so scheint es, genau zu zeigen, was Sie wollen: eine Möglichkeit, den Zugang zu Viewstate-Code zu gewinnen, während sie noch auf dem Server, bevor Postbacks.

Beantwortet am 04/08/2008 um 10:04
quelle vom benutzer

stimmen
2

Ich ermöglichte Komprimierung folgende ähnliche Artikel zu den oben geschrieben. Der Schlüssel, um den Zugriff auf Viewstate, bevor die Anwendung sendet sie diese Methode wurde überschreibt;

protected override void SavePageStateToPersistenceMedium(object viewState)

Sie können die Basismethode innerhalb dieser Überschreibung aufrufen und dann addieren, was zusätzliche Logik benötigen Sie die Viewstate zu behandeln.

Beantwortet am 05/08/2008 um 11:07
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more