Hej, Viewstate skickas till servern. Där det översätts/decode:as till objekt och sedan serialiseras det tillbaks till Viewstate-strängen igen. Det är rätt snabbt med självklart kostar det.Viewstate, för stor?
Jag bygger en applikation där en användare ges möjlighet att dynamiskt fylla två platser i en .aspx-sida i form av UserControls. Detta fungerar mycket bra och är mycket smidigt, eftersom en användare kan ladda in två likadana (eller två olika) delar samtidigt, och sedan jämföra och ändra på båda. Nackdelen är att allt lagras i Viewstaten. Om man då på den ena delen fyller en datagrid, och sedan gör en postback från den andra delen, sparas antagligen hela datagridden i Viewstaten, vilket ger en Viewstate som vid extrema fall kan uppgå till ca 40 KB.
Är detta ett problem som jag måste försöka lösa, eller finns det fall då Viewstaten måste bli stor? I övrigt är applikationen väldigt smidig.
Hur fungerar Viewstate egentligen? Skickas hela Viewstaten tillbaka vid postback?
Tack på förhand!Sv: Viewstate, för stor?
Är Viewstaten vid extrema fall 40kb är det nog ingen fara.
Det beror också lite på användarna (har de 28.8k modem.... troligen inte..? :), samt nätverket och servern. Är det inga problem där är det bara att tuta och köra.
Viewstate-hanteringen i .net är hyffsat snabb, och i vissa fall är alternativen inte bättre.
(t.ex. gå till databasen vid varje postback).
Försök att se till att inte göra postbacks för ofta bara.
(Typ postback vid varje enter-tryckning och 40kb Viewstate är väl inte så bra..)
Det är klokt att utgå från principen att göra Postback endast när du måste göra det.