View state ... asp; net
F O R M A T E U R : A BEN D AO UD
L E V I EW S T AT E
Vous avez surement du remarquer que lorsque vous cliquez sur un button d’une page ASPX, les informations que vous avez rentré auparavant sont automatiquement conservées (sauf pour les éléments rajoutés en CodeBehind). Par exemple si on met à jour un label, tous les rechargements de la page qui suivront conserveront cette dernière mise à jour. Ceci est possible grâce à la gestion d’état côté client d’ASP.NET et plus particulièrement aux View State. La propriété View State nous fournit une collection d’objet permettant de conserver des valeurs entre plusieurs requêtes sur la même page. Quand une page ASP.NET est traitée, l’état courant de la page ainsi que de ses contrôles sont hachés en une chaîne de caractère puis sauvegardés dans la page un peu comme un champ caché en HTML ().
Si les données sont trop longues (que l’on peut spécifier grâce à la propriété MaxPageStateFieldLength) alors ASP.NET scindera nos données en de multiples champs cachés plutôt qu’en un seul. Dans les sous-parties suivantes nous aborderons le chiffrement des données View State, la désactivation des View State ainsi que l’ajout de données personnalisées dans le View State. CHIFFREMENT DES DONNÉ ES VIEW STATE Il est possible d’activer le chiffrement des données View State afin de rendre plus difficile l’accès des données aux personnes malintentionnées. Cette mise en place créera une charge supplémentaire de calcul pour le serveur mais peut être nécessaire si vous décidez de stocker des informations personnelles dans les View States.
Pour ce faire, il faut se rendre dans votre fichier de configuration Web.config (voir chapitre précédent pour la configuration en détail de ce fichier). Il faut alors modifier l’attribut de pages viewStateEncryptionMode en Always comme le montre l’exemple ci-dessous :
1
Proposé par