sharp - visual c# get set




Come ottenere il valore di ViewState, codificato e costruito? (2)

Rex, sospetto che un buon posto per iniziare a cercare siano le soluzioni che comprimono ViewState - stanno catturando ViewState sul server prima che venga inviato al client e gzippandolo. Questo è esattamente dove vuoi essere.

Ho bisogno di prendere la rappresentazione codificata Base64 di ViewState. Ovviamente questo non sarebbe disponibile fino a un momento abbastanza lungo nel ciclo di vita della richiesta, che è OK.

Ad esempio, se l'output della pagina include:

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

Ho bisogno di un modo sul lato server per ottenere il valore "/wEPDwUJODU0Njc5MD...=="

Per chiarire, ho bisogno di questo valore quando la pagina viene sottoposta a rendering, non su PostBack. Ad esempio, ho bisogno di conoscere il valore di ViewState che viene inviato al client, non il ViewState che sto recuperando da loro.


Vedi questo post sul blog in cui l'autore descrive un metodo per ignorare il comportamento predefinito per generare ViewState e mostra invece come salvarlo sull'oggetto Session del server.

In ASP.NET 2.0, ViewState viene salvato da un discendente della classe PageStatePersister. Questa classe è una classe astratta per il salvataggio e il caricamento di ViewsState e ci sono due discendenti implementati di questa classe in .Net Framework, denominata HiddenFieldPageStatePersister e SessionPageStatePersister. Per impostazione predefinita, HiddenFieldPageStatePersister viene utilizzato per salvare / caricare le informazioni di ViewState, ma possiamo facilmente far funzionare SessionPageStatePersister e salvare ViewState nell'oggetto Session.

Sebbene non abbia provato il suo codice, sembra che mostri esattamente quello che vuoi: un modo per ottenere l'accesso al codice ViewState mentre sei ancora sul server, prima del postback.





asp.net