As tu va ma source qui parle du viewstate ? cherche dans mes sources sinon.
En quelques mots, quand tu charges une page aspx, a chaque requete le
serveur compile la page envoie la réponse, et t'oublie, si tu fais un
postback (click sur un bouton) le client refait une requete, recompile
la page (il voit qu'un bouton a été cliqué quand meme) et te renvoie le
contenu, a chaque requete le serveur ne sait pas que c'est le meme
client, il créer une novelle instance de la classe a chaque fois, donc
toutes tes variables sont perdus.
Pour garder tes variables, il existe principalement deux solutions, les
stockés dans une variable session, ou dans le viewstate.
Le viewstate, c'est une instance de la classe StateBag: un
dictionnaire, quand le serveur compile la page, il regarde le contenu
du viewstate, il sérialize tout ca, le code en 64bits, et l'ecrit dans
la page, dans le champ caché "__viewstate", ensuite quand ut fais un
postback, le serveur regarde le contenu de ce champ caché, et puis
recharge le viewstate :)
Cyril - http://Hoshimi.CodeS-SourceS.fr