Η τοπική μεταβλητή υπάρχει μόνο όσο ο server επεξεργάζεται την σελίδα, είτε όταν την καλεί ο browser για πρώτη φορά είτε όταν δέχεται κάποιο postback από τον client. Η τοπική μεταβλητή δεν επηρεάζεται από το αν η σελίδα εμφανίζεται ακόμα στον browser ή όχι.
Το viewstate πρέπει να το δεις ως ένα κουβά από bits στον οποίο τόσο ο server όσο και ο browser αποθηκεύουν μεταβλητές. Ο κουβάς έχει επίσης μεθόδους οι οποίες μας επιτρέπουν να δούμε τί τιμή έχουν οι μεταβλητές. Ο κουβάς αυτός στέλνεται μαζί με τα περιεχόμενα της σελίδας στον browser όταν τελειώσει η επεξεργασία, διαβάζεται από τον browser και όταν γίνει postback στον server στέλνεται πίσω στον server. Όπως και ο κάθε κουβάς, καλό είναι να μην γεμίζει με πάρα πολλά πράγματα γιατί "βαραίνει", δηλαδή αυξάνει πολύ το μέγεθος της σελίδας και των postbacks.
Αν θέλεις να αποθηκεύσεις σχετικά λίγες μεταβλητές, οι οποίες χρειάζονται και στον client και στο server, μπορείς να τις αποθηκεύσεις εύκολα στο viewstate. Διαφορετικά, δες και τις άλλες μεθόδους αποθήκευσης δεδομένων για μία εφαρμογή web, όπως το session state το οποίο υπάρχει όσο υπάρχει το session του χρήστη (ουσιαστικά μέχρι να κάνει logout ή να κάνει timeout το session).
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos