Wat ik een beetje jammer vind, is dat het gebruik van de ViewState een alles-of-niets scenario is. Als je bijvoorbeeld in een DataGrid gebruik wilt maken van Paging (zonder db-roundtrips), zou je eigenlijk gebruik willen maken van de ViewState.
Het nadeel is echter dat je data dan 2x in je pagina wordt ingeladen (1x in de ViewState en 1x in het control zelf). Als je het DataGrid voor inline editing gebruikt, is dat misschien wel iets wat je wilt, maar als je het DataGrid slechts gebruikt om wat records te tonen, zou je eigenlijk makkelijk zonder die ViewState kunnen...
Wat ik in een andere thread al als conclusie gaf was:
- Als je per pagina weinig data ophaalt -> ViewState gebruiken (want scheelt je een roundtrip naar de database)
- Als je per pagina soms en veel data ophaalt -> Geen ViewState gebruiken (want pagina wordt anders tenminste 2x zo groot), maar gewoon steeds opnieuw een BindData().
Maar hoe los je "het probleem" van Paging op het DataGrid dan op, zonder db-roundtrip? En wat doe je als je vaak en veel data ophaalt (want dan wil je ook liever zo weinig mogelijk db-roundtrips)?
Wat zijn jullie ervaringen van de ViewState en ervaar je het ook als een probleem dat het 'alles-of-niets' is? (alles: voordelen van de ViewState, maar 2x zo grote pagina, wat soms wel kan leiden tot pagina's van 1MB; niets: geen ViewState)
Related topics
ASP.NET DataSet opslaan als Session?
[rml][ ASP.NET] Event voor OnLoad?[/rml]
Het nadeel is echter dat je data dan 2x in je pagina wordt ingeladen (1x in de ViewState en 1x in het control zelf). Als je het DataGrid voor inline editing gebruikt, is dat misschien wel iets wat je wilt, maar als je het DataGrid slechts gebruikt om wat records te tonen, zou je eigenlijk makkelijk zonder die ViewState kunnen...
Wat ik in een andere thread al als conclusie gaf was:
- Als je per pagina weinig data ophaalt -> ViewState gebruiken (want scheelt je een roundtrip naar de database)
- Als je per pagina soms en veel data ophaalt -> Geen ViewState gebruiken (want pagina wordt anders tenminste 2x zo groot), maar gewoon steeds opnieuw een BindData().
Maar hoe los je "het probleem" van Paging op het DataGrid dan op, zonder db-roundtrip? En wat doe je als je vaak en veel data ophaalt (want dan wil je ook liever zo weinig mogelijk db-roundtrips)?
Wat zijn jullie ervaringen van de ViewState en ervaar je het ook als een probleem dat het 'alles-of-niets' is? (alles: voordelen van de ViewState, maar 2x zo grote pagina, wat soms wel kan leiden tot pagina's van 1MB; niets: geen ViewState)
Related topics
ASP.NET DataSet opslaan als Session?
[rml][ ASP.NET] Event voor OnLoad?[/rml]