2008-09-22 5 views
16

Ich deaktivieren Viewstate für meine ASP.net-Steuerelemente, es sei denn, ich weiß explizit, dass ich View-Status für sie benötigen. Ich habe festgestellt, dass dies die Seitengröße des erzeugten HTML erheblich reduzieren kann.Wann Viewstate zu aktivieren/deaktivieren

Ist das eine gute Praxis? Wann sollte aktiviert oder deaktiviert werden?

Antwort

19

Ja, es ist eine sehr gute Idee. Man könnte argumentieren, dass es von Microsoft wie Caching standardmäßig deaktiviert sein sollte.

Um zu sehen, wie schlecht Viewstate in Bezug auf die Größe erhöht ist, können Sie ein Tool namens Viewstate Analyzer verwenden. Dies ist besonders nützlich, wenn Sie eine vorhandene Anwendung mit Viewstate aktiviert haben.

Ein weiterer guter Grund, Viewstate zu deaktivieren, ist, dass es zu einem späteren Zeitpunkt wirklich schwer ist, es zu deaktivieren, wenn eine große Anzahl von Komponenten davon abhängt.

5

Ich denke, es ist gute Praxis. Vielen ASP.NET-Entwicklern ist nicht bewusst, dass ihre Ansichtszustände dem HTML, das an die Browser ihrer Benutzer gesendet wird, enormes Gepäck hinzufügen.

4

Es ist eine gute Übung. Wenn Sie ViewState-Werte nicht für Postbacks verwenden oder wenn sie von einem komplexen Steuerelement selbst benötigt werden, sollten Sie ViewState als Teil dessen speichern, was an den Client gesendet wird.

0

_Viewstate kann die Anzahl der Bytes, die übertragen werden müssen, unnötig erhöhen. Wenn also die Daten nicht das nächste Mal verwendet werden, ist es eine gute Idee, sie auszuschalten.

4

Sie können die Informationen in der "ASP.NET State Management Recommendations" article auf MSDN nützlich finden, um Ihre Entscheidung zu treffen.

Allgemeines in ASP.NET 2.0 und höher die Viewstate deaktivieren ist weniger destruktiv aufgrund der Einführung des Steuerzustandes zum Speichern zum Anheben Ereignis informaton erforderlich usw.

2

Definitiv eine gute Idee, nichts Schlimmeres, dass eine Seite davon Ein Entwickler bindet ein DataGrid jedesmal in Page_Load, aber auch den ViewState!

Es ist auch eine sehr gute Idee, wenn Sie das UpdatePanel von den AJAX Extensions verwenden, bedeutet dies, dass Sie weniger während der UpdatePanel Anfrage senden.

(Nicht flammen zu sagen, dass ein UpdatePanel kann gut sein: P)