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

C# Discussion :

(Suite) Incrémentation à l'aide de deux boutons


Sujet :

C#

  1. #1
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut (Suite) Incrémentation à l'aide de deux boutons
    Bonjour,

    Tout d'abord je vous souhaite une bonne année 2011.

    Puis j'aimerais avoir votre avis sur un problème sur lequel vous m'avez déjà aidé, mais pour lequel j'ai un autre problème...

    En faite dans une textbox j'ai le texte : "1.0" .
    A l'aide d'un premier bouton j'incrémente la partie gauche avant le point, puis avec un second bouton j'incrémente la partie droite après le point...

    Voici donc les deux fonctions en question qui m'aide pour cette tâche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    protected void bt_incrementationG_Click(object sender, EventArgs e)
            {
     
                int a = 1;
                object b = (int)Session["Compteur"];
     
                if (Session["Compteur1"] != null)
                {
                    a = (int)Session["Compteur1"];
                }
                a++;
     
                TextBox1.Text = a.ToString() + "." + b.ToString();
                Session["Compteur1"] = a;
     
            }
     
             protected void bt_incrementationD_Click(object sender, EventArgs e)
            {
     
                object c = Session["Compteur1"];
                int d = 0;
     
                if (Session["Compteur"] != null)
                {
                    d = (int)Session["Compteur"];
                }
                d++;
     
                TextBox1.Text = c.ToString() + "." + d.ToString();
                Session["Compteur"] = d;
     
            }
    Dans un premier temps je pensais m'être débarrassée de ce problème mais il revînt promptement.

    Voici le message d'erreur qu'il m'indique lorsque que je veux incrémenter l'une des parties :
    "La référence d'objet n'est pas définie à une instance d'un objet."
    Je crois savoir d'où vient le problème.
    Je crois que c'est lorsque j'essaie de conserver la valeur de la seconde variable quand j'incrémente la première et vice versa.

    Comment puis-je conserver la valeur d'une variable quand je change la seconde ?

    J'espère avoir été assez clair dans mes explications.

    En vous remerciant.

    Bonne journée.
    Programmer c'est comme gravir une montagne...
    Il faut procéder par étapes...
    (? auteur ?)
    Un seul être vous manque et tout est dépeuplé.
    Lamartine (merci chat hotplug ^^)

  2. #2
    Invité
    Invité(e)
    Par défaut
    Essaie de vérifier si la valeur de c récupérer à partir de la variable de session Compteur n'est pas null.

  3. #3
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Je vous remercie pour votre réponse.

    Effectivement la valeur de c est null tout comme la valeur de b.

    D'où ma question comment faire pour garder la valeur de l'autre variable quand on en incrémente une ?

    En vous remerciant.
    Programmer c'est comme gravir une montagne...
    Il faut procéder par étapes...
    (? auteur ?)
    Un seul être vous manque et tout est dépeuplé.
    Lamartine (merci chat hotplug ^^)

  4. #4
    Invité
    Invité(e)
    Par défaut
    pas tester mais cela devrait marcher.
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    private int getValue(string position)
    {
    	int value;
    	if (this.Session[position] == null)
    	{
    		value = 0;
    		this.Session.Add(position, value);
    	}
    	else
    	{
    		value = (int)this.Session[position];
    	}
    	return value;
    }
     
    protected void clickDroite(object sender, EventArgs e)
    {
    	int droite = this.getValue("Droite") + 1;
    	this.Session["Droite"] = droite;
    	this.montTextBox.Text = string.Format("{0}.{1}", this.getValue("Gauche"), droite);
    }
     
    protected void clickGauche(object sender, EventArgs e)
    {
    	int gauche = this.getValue("Gauche") + 1;
    	this.Session["Gauche"] = gauche;
    	this.montTextBox.Text = string.Format("{0}.{1}", gauche, this.getValue("Droite"));
    }

  5. #5
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Merci, effectivement cela fonctionne bien.

    Un grand merci encore.

    Bonne journée.
    Programmer c'est comme gravir une montagne...
    Il faut procéder par étapes...
    (? auteur ?)
    Un seul être vous manque et tout est dépeuplé.
    Lamartine (merci chat hotplug ^^)

  6. #6
    Invité
    Invité(e)
    Par défaut
    C'est un usercontrol que tu développes, je te conseille d'utiliser le ViewState au lieu de la Session utilisateur pour stocker les valeurs.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/12/2010, 08h56
  2. Réponses: 1
    Dernier message: 02/12/2009, 12h11
  3. [Débutant] incrémenter à l'aide d'un bouton
    Par melgorien dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 26/02/2009, 15h09
  4. Réponses: 10
    Dernier message: 10/06/2004, 16h20
  5. ouvrir word a l'aide d'un bouton
    Par Loule dans le forum MFC
    Réponses: 12
    Dernier message: 19/02/2004, 14h55

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