Créer une propriété dans le ViewState

by Nicolas Calvi 25. novembre 2008 11:58

Une des questions qui revient souvent quand on développe en ASP.Net, c'est comment persister facilement et simplement une donnée sur une page dans le ViewState pour pouvoir la réutiliser à chaque PostBack. Avant de faire cela il faut déjà comprendre que cela à un coup.

En effet la moindre information persistée dans le ViewState prend beaucoup de place et donc alourdit la page et son chargement, il faut donc l'utiliser avec beaucoup de précaution. Il faut savoir aussi que seules les données sérialisables peuvent être ajoutées au ViewState.

Ensuite il suffit de procéder comme ceci pour créer sa propriété dans sa page :

public string MaProp
{
  get
  {
    if ( this.ViewState["MaProp"] == null )
    {
      this.ViewState["MaProp"] = String.Empty;
    }

    return((string)this.ViewState["MaProp"]);
  }
  set
  {
    this.ViewState["MaProp"] = value;
  }
}

Vous pouvez remarquer que le nom de la clé dans le ViewState est la même que ma propriété, même si cela n'est pas obligatoire cela permet une meilleurs relecture et ajoute une cohérence à notre code.

Dans le cadre du GET je test si le ViewState possède déjà ma clé, si ce n'est pas le cas on lui affecte une valeur par défaut pour permettre une initialisation automatique, pensez à bien caster le retour du GET.

Ajouter un commentaire

biuquote
  • Commentaire
  • Prévisualiser
Loading