Hvordan få verdien av bygget, kodet Visningsstatusen?

stemmer
22

Jeg trenger å ta tak i base64-kodet representasjon av Visningsstatusen. Selvfølgelig er dette ikke ville være tilgjengelig før ganske sent i anmodningen livssyklus, som er OK.

For eksempel, hvis produksjonen av siden inkluderer:

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

Jeg trenger en måte på serversiden for å få verdien /wEPDwUJODU0Njc5MD...==

For å klargjøre, jeg trenger denne verdien når siden blir gjengitt, ikke på postback. f.eks jeg trenger å vite Visningsstatusen verdien som blir sendt til klienten, ikke Visningsstatusen jeg får tilbake fra dem.

Publisert på 04/08/2008 klokken 03:59
kilden bruker
På andre språk...                            


3 svar

stemmer
10

Rex, jeg mistenker et godt sted å begynne å lete er løsninger som komprimerer Visningsstatusen - de er gripe Visningsstatusen på serveren før den sendes ned til klienten og gzipping det. Det er akkurat der du ønsker å være.

Svarte 04/08/2008 kl. 08:04
kilden bruker

stemmer
4

Se dette blogginnlegget der forfatteren beskriver en metode for å overstyre standard virkemåte for å generere Visningsstatusen og i stedet viser hvordan du lagrer den på serveren Session objektet.

I ASP.NET 2.0, blir Visningsstatusen reddet av en etterkommer av PageStatePersister klasse. Denne klassen er en abstrakt klasse for lagring og lasting ViewsState og det er to implementert etterkommere av denne klassen i .Net Framework, oppkalt HiddenFieldPageStatePersister og SessionPageStatePersister. Som standard HiddenFieldPageStatePersister brukes til å lagre / laste Visningsstatusen informasjon, men vi kan enkelt få SessionPageStatePersister å arbeide og spare Visningsstatusen i Session objektet.

Selv om jeg ikke teste koden sin, synes det å vise nøyaktig hva du vil: en måte å få tilgang til Visningsstatusen kode samtidig på serveren, før postback.

Svarte 04/08/2008 kl. 09:04
kilden bruker

stemmer
2

Jeg aktivert komprimering følgende lignende artikler til de som postet over. Nøkkelen for å få tilgang til Visningsstatusen før applikasjonen sender det ble styre denne metode;

protected override void SavePageStateToPersistenceMedium(object viewState)

Du kan ringe basen metode innen dette overstyring, og deretter legge til hva ekstra logikk du trenger for å håndtere Visningsstatusen.

Svarte 05/08/2008 kl. 10:07
kilden bruker

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