IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Comment enregistrer le ViewState complet d'une page


Sujet :

ASP.NET

  1. #1
    Membre actif

    Inscrit en
    Novembre 2003
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 168
    Points : 232
    Points
    232
    Par défaut Comment enregistrer le ViewState complet d'une page
    Bonjour,

    J'aimerais savoir comment se débrouille ASP.NET pour enregistrer et charger le ViewState d'une page et de l'ensemble de ses contrôles, puisque les méthodes SaveViewState et LoadViewState sont Protected et non Public ?!!!

    Est-ce qu'il utilise la réflexion ?

    Je veux à un moment de mon choix, enregistrer tout le viewstate de la page (comme le fait ASP.NET juste avant le render) et le recharger par la suite, avez-vous une technique à me proposer pour celà ?

    Merci par avance,

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 071
    Points : 12 116
    Points
    12 116
    Par défaut
    Ce n’est pas ASP.NET qui enregistrer et charger le ViewState, c'est les contrôles aux-même qui appel aux méthodes, protected donc accessible au contrôle, "SaveViewState" ou "LoadViewState" qui elles, utilisent l'infrastructure ASP.NET pour récupérer ou sauvegarder le ViewState dans l'HTML.

    Donc pas de réflexion.

    Si le choix est dans la page, il suffit d'appeler ces méthodes.

  3. #3
    Membre actif

    Inscrit en
    Novembre 2003
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 168
    Points : 232
    Points
    232
    Par défaut
    Oui d'accord je veux bien appeler ces méthodes, mais comment le faire si les méthodes des contrôles sont Protected !
    Ou je reformule ma question (puisque t'as dit que c'est les contrôles qui appelent chaun ses propres méthodes) comment faire pour déclencher les appels à LoadViewState et SaveViewState dans chaque contrôle.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 071
    Points : 12 116
    Points
    12 116
    Par défaut
    La classe "Page", dont dérive votre page, est un contrôle donc on peux appeler les méthodes "LoadViewState" et "SaveViewState" depuis votre page.

    Les implémentations héritées par votre classe de page (qui sont redéfinissables puisque les méthodes sont protected mais aussi virtual) appellent les méthodes homologues sur les contrôles contenus dans la liste "Controls" de la page. Elle a le droit car, comme la page est un contrôle, elle peut appeler les méthodes protected des autres contrôles. Et ainsi de suite de container de contrôles en container de contrôles.

    Un coup de reflector (http://www.red-gate.com/products/reflector/) et on voit qu'ASP.NET utilise les méthode internal "SaveViewStateRecursive()" et "LoadViewStateRecursive()" de la classe "Control" sur les pages. ASP.NET à le droit d'appeler une méthode "internal" de la page et la page a le droit d'appeler les ses méthodes protected et private et les méthodes protected des autres types de contrôles.

    Donc, pourquoi n’appelez-vous pas ces méthodes dans le corps d’une méthode de votre page ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/06/2006, 10h09
  2. [TWebBrowser] Comment trouver tous les liens dans une page ?
    Par xenos dans le forum Composants VCL
    Réponses: 1
    Dernier message: 15/01/2006, 23h36
  3. Comment puis je faire pour que'une page soir rechargees....
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/12/2005, 10h46
  4. Comment Appuyer sur le bouton d'une page web...?
    Par Mayti4 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/01/2005, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo