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 :

Variables non rafraichie


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 69
    Points : 44
    Points
    44
    Par défaut Variables non rafraichie
    Bonjour,

    Dans mon application, j'ai une page avec un formulaire, une fois ce formulaire remplie, l'utilisateur click sur un bouton et une autre page affiche un récapitulatif de ses valeurs.
    Arrivé là, l'utilisateur peut faire retour pour revenir éditer le formulaire.

    Le problème arrive ici, le formulaire ne prend pas en comptes les changements fait par l'utilisateur et renvoi les anciennes valeurs.

    J'ai tout mes champs encastrer dans différents UpdatePanel, j'ai essayer de faire un update avant de renvoyer les valeur mais ça ne change rien.

    J’espère avoir été clair sur mon problème, merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Points : 305
    Points
    305
    Par défaut
    Citation Envoyé par Champouil Voir le message

    Le problème arrive ici, le formulaire ne prend pas en comptes les changements fait par l'utilisateur et renvoi les anciennes valeurs.
    Tu veux dire quoi par ça ? Tu modifie le formulaire lorsque tu sois sur la 2 eme page (page qui s'affiche après le click) ?
    Accepter les critiques, c'est le premier pas pour être un bon développeur ...

  3. #3
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Je vais faire plus simple :

    1) J'arrive sur le formulaire pour la premiere fois -> je le rempli puis je click sur suivant

    2) J'arrive sur la page recapitulatif -> je me suis tromper je click sur retour

    3) Je suis de nouveau sur la page du formulaire qui est rempli via les info que m'a envoyer le récapitulatif -> je modifie 2 ou 3 champs puis je reclick sur suivant pour afficher le récapitulatif

    4) le récapitulatif m'affiche les ancienne valeurs mais ne prend pas en compte les valeurs modifier.

    L'erreur se trouve entre le 3) et le 4) , j'ai regarder et c'est la page formulaire qui ne prend pas en compte les modifs.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Points : 305
    Points
    305
    Par défaut
    c plus clair maintenant
    c sera bien, si tu publie ton code !!!
    Accepter les critiques, c'est le premier pas pour être un bon développeur ...

  5. #5
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Ok alors,

    Je passe mes valeurs entre mes pages via des sessions :

    Pour la page du formulaire :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    private List<string> SocandAge = new List<string>();
     
            protected void Page_Load(object sender, EventArgs e)
            {
     
                if (Session["OldSocandAge"] != null)
                {
                    PlaceControlForOldValue();
                    FillWithOld();
     
                  /*  Session["OldSalarier"] = null;
                    Session["OldConSal"] = null;
                    Session["OldSocandAge"] = null;*/
                }
     
                tbDateInEnterprise.Attributes.Add("Readonly", "true");
                tbDateInAgence.Attributes.Add("Readonly", "true");
                tbDateAppli.Attributes.Add("Readonly", "true");
            }
     
            protected void Page_Prerender(object sender, EventArgs e)
            {
     
                if (Session["OldSocandAge"] != null)
                {
                    List<string> OldSocandAge = (List<string>)Session["OldSocandAge"];
     
                    UpdatePanel4.Update();
                    CDDSociete.SelectedValue = OldSocandAge[0];
                    CDDAgence.SelectedValue = OldSocandAge[2];
                    UpdatePanel4.Update();
                }
                else
                    CDDSociete.SelectedValue = "1";
            }
     
            protected void BtoNext_InfoSalar_Click(object sender, EventArgs e)
            {
                if (validationNiveau1())
                {
                    test.Visible = true;
                    Div_BtoNext_InfoSalar.Visible = false;
                }
            }
     
            protected void BtoNext_ConSal_Click(object sender, EventArgs e)
            {
                if (validationNiveau2())
                {
                    div_ConSal.Visible = true;
                    Div_BtoNext_ConSal.Visible = false;
                }
            }
     
            protected void BtoRecap_Click(object sender, EventArgs e)
            {
                if (validationNiveau3() && validationNiveau2() && validationNiveau1())
                {
                    ListItem lis = DDLSociete.SelectedItem;
                    ListItem lia = DDLAgence.SelectedItem;
     
                    SocandAge.Add(lis.Value);
                    SocandAge.Add(lis.Text);
                    SocandAge.Add(lia.Value);
                    SocandAge.Add(lia.Text);
     
                    Session["GoSocandAge"] = null;
                    Session["GoSalar"] = null;
                    Session["GoConsal"] = null;
     
                    Session["GoSocandAge"] = GetSocandAge;
                    Session["GoSalar"] = GetCurrentSalarier;
                    Session["GoConsal"] = GetCurrentConsal;
     
                    Response.Redirect("~/RecapSalarier.aspx", false);
                }
            }
     
            private void FillWithOld()
            {
                Salarie Oldsalar = (Salarie)Session["OldSalarier"];
                Condition_salariales OldConsal = (Condition_salariales)Session["OldConSal"];
     
     
                tbNom.Text = Oldsalar.Nom;
                tbPrenom.Text = Oldsalar.Prenom;
                tbMatricule.Text = Oldsalar.Matricule;
                tbFonction.Text = Oldsalar.Fonction;
                DDlCivilite.SelectedValue = Oldsalar.Civilite;
                if (Oldsalar.Status_cadre.Value)
                    DDlCadre.SelectedIndex = 0;
                else
                    DDlCadre.SelectedIndex = 1;
                tbDateBirth.Text = Oldsalar.Date_Naissance.Value.ToString(@"dd/MM/yyyy");
                tbDateInEnterprise.Text = Oldsalar.Date_in_entreprise.Value.ToString(@"dd/MM/yyyy");
                tbDateInAgence.Text = Oldsalar.Date_in_agence.Value.ToString(@"dd/MM/yyyy");
     
                tbSalaireAnnuel.Text = OldConsal.Salarire_Annuel.Value.ToString();
                tbPanierRepas.Text = OldConsal.Panier_repas.Value.ToString();
                tbCoutDivers.Text = OldConsal.Cout_autre.Value.ToString();
                tbDateAppli.Text = OldConsal.Date_application.Value.ToString(@"dd/MM/yyyy");
            }
     
            private void PlaceControlForOldValue()
            {
                test.Visible = true;
                Div_BtoNext_InfoSalar.Visible = false;
                div_ConSal.Visible = true;
                Div_BtoNext_ConSal.Visible = false;
            }
     
            public Salarie GetCurrentSalarier
            {
                get {
     
                    Salarie _salarier = new Salarie();
     
                    _salarier.ID_Agence = byte.Parse(SocandAge[2]);
                    _salarier.Civilite = DDlCivilite.SelectedValue;
                    _salarier.Matricule = tbMatricule.Text;
                    _salarier.Nom = tbNom.Text.ToUpper();
                    _salarier.Prenom = tbPrenom.Text.Substring(0, 1).ToUpper() + tbPrenom.Text.Substring(1).ToLower();
     
                    if (DDlCadre.SelectedValue == "oui")
                        _salarier.Status_cadre = true;
                    else
                        _salarier.Status_cadre = false;
                    _salarier.Fonction = tbFonction.Text;
                    _salarier.Date_Naissance = DateTime.Parse(tbDateBirth.Text);
                    _salarier.Date_in_entreprise = DateTime.Parse(tbDateInEnterprise.Text);
                    _salarier.Date_in_agence = DateTime.Parse(tbDateInAgence.Text);
     
                    return _salarier;
                }
            }
     
            public Condition_salariales GetCurrentConsal
            {
                get 
                {
                    Condition_salariales _consal = new Condition_salariales();
     
                    _consal.Salarire_Annuel = decimal.Parse(tbSalaireAnnuel.Text);
                    _consal.Cout_autre = decimal.Parse(tbCoutDivers.Text.Replace(".",","));
                    _consal.Date_application = DateTime.Parse(tbDateAppli.Text);
                    if (tbPanierRepas.Text.Contains("."))
                        tbPanierRepas.Text = tbPanierRepas.Text.Replace(".", ",");
                    _consal.Panier_repas = decimal.Parse(tbPanierRepas.Text.Replace(".",","));
     
                    return _consal;
                }
            }
     
            public List<string> GetSocandAge
            {
                get
                {
                    return SocandAge;
                }
            }
    Voila les Session["Go...."] envoie vers le recapitulatif et les Session["Old..."] sont les valeurs obtenue via le recap.

    Soit indulgent sur le code, je debute

  6. #6
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Ok j'ai trouvé le probléme.

    Lorsque je click sur le bouton suivant pour aller au récap, ca me faisait un post-back et du coup un page_load en trop.

    En fait ca me reremplissait mes champs juste avant de changer de page

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

Discussions similaires

  1. [C#] Label non rafraichi
    Par BiM dans le forum ASP.NET
    Réponses: 19
    Dernier message: 07/04/2005, 16h00
  2. Réponses: 6
    Dernier message: 16/03/2005, 14h44
  3. [LG]Variable non initialisée.
    Par Loceka dans le forum Langage
    Réponses: 3
    Dernier message: 18/11/2004, 18h36
  4. [JTable]cellules non rafraichies
    Par freudy dans le forum Composants
    Réponses: 3
    Dernier message: 02/07/2004, 16h03
  5. Réponses: 6
    Dernier message: 13/05/2004, 15h40

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