04. maj 2004 - 01:06Der er
3 kommentarer og 1 løsning
ASP.NET ViewState spørgsmål
Er igang med en større ASP.NET applikation, og er løbet ind i et større problem. ViewState vokser sig simplethen for stor, og hogger båndbredden. Jeg har prøvet mig frem med forskellige løsninger.
At disable viewstate for nogle controls gør at objektet slet ikke kan refereres. (Skal jeg så bruges Request.Form?)
At disable viewstate for hele siden er heller ikke en brugbar løsning, idet at mange sider allerede er operationelle, og benytter sig alle af (!IsPostBack) og dermed ViewState for at holde styr på elementer (osv) istedet for at bruge SessionsState.
ViewState.Clear(); ser ikke ud til at virke.
Imidlertid har jeg hørt at det er muligt at resette ViewState for en side ved at redirecte tilbage til den? Hvordan kan det lade sig gøre? Eller har i andre løsninger på mit problem.
Virker ViewState.Remove(string key);? I så fald kan jeg jo blot itererer igennem ViewState og slette alt? Eller?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det kan jeg forstå. Men ved at disable viewstate på kontrollers kan jeg ikke referere til dem længere :( Jeg tror muligvis det er fordi jeg bruger panels som containere til alle kontroller?
Det er klart at du ikke kan referere en kontrol efter et postback hvis den ikke automatisk er blevet populeret fra viewstate. Du kan måske lave din kode således at det ikke er nødvendigt at gemme mere end højest nødvendigt i viewstate, eks. kan et dataset gemmes i session osv.
En rigtig viewstate-røver er typisk en menu eller et datagrid. Begge dele kan fylde ekstremt meget i viewstaten og der kan det virkelig være værd at overveje om en populate ikke er i orden ved hvert postback - eventuelt kan man jo ligge dataen der anvendes til at populere menuen/datagrid'et i et cache objekt der trækkes på hvis ikke data er ændret.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.