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

Windows Forms Discussion :

[C#] Conserver des valeurs de propriétés d'une page [Débutant(e)]


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [C#] Conserver des valeurs de propriétés d'une page
    Je m'explique (pas facile de trouver un titre assez clair).

    Je pense que ma demande est simple. Je cherche à avoir une page auquelle je rajoute un objet, par exemple un entier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class WebForm1 : System.Web.UI.Page
    	{
    		protected System.Web.UI.WebControls.ImageButton ImageButton1;
    		protected System.Web.UI.WebControls.Label Label1;
     
    		private int monentier;
    }

    dans le page_load ( ou le constructeur? ) j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     private void Page_Load(object sender, System.EventArgs e)
    		{		
    			monentier=1;
    		}
    dans le traitant de mon evenement de bouton j'ai :

    private void ImageButton1_Click(object sender,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    System.Web.UI.ImageClickEventArgs e)
    		{
    			monentier++;
    			Label1.Text=monentier.toString();
     
    		}
    Dans l'etat actuel, apres chaque clic du bouton, mon label affiche toujours 2, l'etat de l'entier est toujours remis à 1 apres le click du bouton.

    J'aimerai que l'etat soit conservé et donc que ca compte le nombre de fois que j'ai cliqué sur le bouton.

    Une piste?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Salut,

    Tu développes en asp.Net et donc tu fais du web. En web tu travailles en mode déconnecté, c'est a dire que :

    1) ton client demande un page au serveur
    2) ton serveur (en gros) instancie cette page, l'exécute, te renvoie le résultat
    3) ton client affiche le résultat

    et ensuite la page instanciée coté serveur est libérée en qque sorte, il n'y a plus de lien entre le client et le serveur. Lorsque tu cliques sur le bouton, ta page est de nouveau instanciée coté serveur, ta variable "monentier" est réinitialisé et du coup il semble ne "rien" se passer.

    C'est pour ça qu'en Web tu as des collections qui sont persistées sur le serveur comme (pour faire le lien en qque sorte entre les différents appels du client) :

    L'Application (System.Web.HttpContext.Current.Application) est une collection ou tu mets des objets globaux, communs à tous les utilisateurs

    La session (System.Web.HttpContext.Current.Session) est une collection ou tu mets des objets pour un utilisateur (c'est ici que tu pourrais mettre ta variable "monentier" en faisant : System.Web.HttpContext.Current.Session["monentier"] = 1)

    Il y a d'autres collections, comme le cache, le viewstate, je te laisse regarder tout ça.

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Je pensais bien aux variables de sessions mais est ce possible de l'utiliser avec des types de données plus complexes ( pas standard, types perso )

    Sinon, est ce possible de developper une sorte de control server perso, genre les zones de textes formulaires, dont l'etat est conservé quelque part (où d'ailleurs?)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Oui il est possible d'utiliser la session avec des types de données perso.

    Ensuite je comprends pas bien ton soucis vu que l'etat des contrôles d'une page est déja sauvegardé par defaut dans le ViewState. Si maintenant tu veux conserver l'etat de ces controles d'une page à l'autre alors oui il faudra le faire toi meme et le sauver en base, en session ou ailleurs...

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/06/2010, 16h09
  2. Réponses: 3
    Dernier message: 19/10/2006, 16h46
  3. Réponses: 4
    Dernier message: 19/10/2006, 14h29
  4. [Cookies] Conserver des valeurs de champs
    Par Sergejack dans le forum Langage
    Réponses: 4
    Dernier message: 31/07/2006, 11h17
  5. Conserver des valeurs quand on ferme le programme
    Par Yepazix dans le forum Langage
    Réponses: 1
    Dernier message: 05/02/2006, 15h59

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