Frage

Ich muss die Base64-codierte Darstellung des ViewState abrufen.Offensichtlich wäre dies erst relativ spät im Anforderungslebenszyklus verfügbar, was in Ordnung ist.

Wenn die Ausgabe der Seite beispielsweise Folgendes enthält:

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

Ich brauche einen Weg auf der Serverseite, um den Wert zu erhalten "/wEPDwUJODU0Njc5MD...=="

Zur Klarstellung: Ich benötige diesen Wert, wenn die Seite gerendert wird, nicht bei PostBack.z.B.Ich muss den aktuellen ViewState-Wert kennen gesendet an den Client, nicht an den ViewState, den ich von ihnen zurückbekomme.

War es hilfreich?

Lösung

Rex, ich vermute, ein guter Ausgangspunkt für die Suche sind Lösungen dafür Komprimieren Sie den ViewState – Sie greifen auf ViewState auf dem Server zu, bevor es an den Client gesendet und komprimiert wird.Genau dort möchten Sie sein.

Andere Tipps

Sieh dir das an Blogeintrag Dabei beschreibt der Autor eine Methode zum Überschreiben des Standardverhaltens zum Generieren des ViewState und zeigt stattdessen, wie dieser im Sitzungsobjekt des Servers gespeichert wird.

In ASP.NET 2.0 wird ViewState von einem Nachkommen der PageStatePersist -Klasse gespeichert.Diese Klasse ist eine abstrakte Klasse zum Speichern und Laden von ViewsState, und es gibt zwei implementierte Nachkommen dieser Klasse in .NET Framework mit dem Namen HiddenFieldPagestatePersisterin und SessionPagestatePersisterin.Standardmäßig wird HiddenFieldPagestatePersister zum Speichern/Laden von Ansichtsstatus -Informationen verwendet. Wir können jedoch problemlos die SessionPaGestatePersistin zum Arbeiten und Speichern von SiewState im Sitzungsobjekt beantragen.

Obwohl ich seinen Code nicht getestet habe, scheint er genau das zu zeigen, was Sie wollen:eine Möglichkeit, vor dem Postback Zugriff auf den ViewState-Code zu erhalten, während er sich noch auf dem Server befindet.

Ich habe die Komprimierung nach ähnlichen Artikeln wie den oben veröffentlichten aktiviert.Der Schlüssel zum Zugriff auf den ViewState, bevor die Anwendung ihn sendet, war das Überschreiben dieser Methode.

protected override void SavePageStateToPersistenceMedium(object viewState)

Sie können die Basismethode innerhalb dieser Überschreibung aufrufen und dann die zusätzliche Logik hinzufügen, die Sie für die Verarbeitung des ViewState benötigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top