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 :

Cycle de vie d'une page asp.net


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 65
    Points
    65
    Par défaut Cycle de vie d'une page asp.net
    Bonjour,
    j'ai un droplist que je charge avec une BD et ensuite que je fais apparaitre , car j'ai mis visible false par default.
    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
     
    protected override void OnPreRender(EventArgs e)
        {    
                if(  (int.Parse(DropDownList2.SelectedIndex.ToString()) == 1) )
                {
     
                    DropDownList5.Items.Clear();
     
     
                    ChargerDropListeCellules();
     
     
                        DropDownList5.Visible = true;   
                } 
     
            base.OnPreRender(e);
        }
    j'aimerai pouvoir fermer la fenêtre une fois la sélection fait, mais le problème c'est qu'aucune des conditions que je mets ne fonctionne, car quand la page se reload toutes les conditions son fausse.

    Avez vous une idée de qu'elle endroit dans le cycle de la page dois je appliqué mon contrôle ? j'ai essayé de le faire en init et load ça ne fonctionne pas.

    Merci d'avance.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    J'avoue que je ne comprends pas pourquoi tu fais tout ça

    Mais je suppose que c'est dans ton page_load que tu mets ta DropDownList.Visible à false ? Si tu mets un if(!IsPostBack) ça ne devrait plus se remettre à false et tu pourra faire ton test dessus ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  3. #3
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 65
    Points
    65
    Par défaut
    Je fais cela parce qu'en fait j'ai 2 dropdownlist, et celle qui apparait et disparait le fait en fonction de ce qui est sélectionné dans la première.
    Selon ce qui est sélectionné je charge le dropdownlist et une fois la sélection fait il doit disparaitre.
    Merci je vais essayé cela.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Citation Envoyé par lazins Voir le message
    Je fais cela parce qu'en fait j'ai 2 dropdownlist, et celle qui apparait et disparait le fait en fonction de ce qui est sélectionné dans la première.
    Selon ce qui est sélectionné je charge le dropdownlist et une fois la sélection fait il doit disparaitre.
    Merci je vais essayé cela.
    A mon humble avis entre le Page_Load et l'événement OnSelectionChanged de ton DropDownList ça devrait le faire ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  5. #5
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 65
    Points
    65
    Par défaut
    Merci je vais essayer cela..
    sinon, j'avais une dernière question, lorsque je fais ma sélection sur le dropdownlist cela revient après le clic à l'index par défaut, moi j'aimerai que l'index sélectionné reste présent.
    Sais tu comment je peux résoudre se problème.
    Merci.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Citation Envoyé par lazins Voir le message
    Merci je vais essayer cela..
    sinon, j'avais une dernière question, lorsque je fais ma sélection sur le dropdownlist cela revient après le clic à l'index par défaut, moi j'aimerai que l'index sélectionné reste présent.
    Sais tu comment je peux résoudre se problème.
    Merci.
    Le problème est toujours le même, c'est à cause du postback ...

    Quand tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    protected void Page_Load(object sender, EventArgs e){
       MaDDL1.DataSource = MaListe;
       MaDDL1.DataBind();
     
       MaDDL2.DataSource = MaListe2;
       MaDDL2.DataBind();
     
       MaDDL2.Visible = false;
    }
    A chaque PostBack tu vas repasser par ton page_load et tu vas remettre à l'état initial tes controls ... Ton click sur le bouton provoque un postback donc fatalement tu vas réinitialiser tes controls ...

    Par contre si tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected void Page_Load(object sender, EventArgs e){
     if(!isPostBack)
     {
       MaDDL1.DataSource = MaListe;
       MaDDL1.DataBind();
     
       MaDDL2.DataSource = MaListe2;
       MaDDL2.DataBind();
     
       MaDDL2.Visible = false;
     }
    }
    Tu ne réinitialise plus tes controls lors d'un postback.

    Regarde sur le net il y a plusieurs poste et description de ce genre de problématique ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  7. #7
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 65
    Points
    65
    Par défaut
    Quand je fais cela :
    protected void Page_Load(object sender, EventArgs e){
    if(!isPostBack)
    {
    MaDDL1.DataSource = MaListe;
    MaDDL1.DataBind();

    MaDDL2.DataSource = MaListe2;
    MaDDL2.DataBind();

    MaDDL2.Visible = false;
    }
    }

    Je ne peux plus rien sélectionné par la suite.
    autopostback est à true.

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Citation Envoyé par lazins Voir le message
    Quand je fais cela :
    protected void Page_Load(object sender, EventArgs e){
    if(!isPostBack)
    {
    MaDDL1.DataSource = MaListe;
    MaDDL1.DataBind();

    MaDDL2.DataSource = MaListe2;
    MaDDL2.DataBind();

    MaDDL2.Visible = false;
    }
    }

    Je ne peux plus rien sélectionné par la suite.
    autopostback est à true.
    Quand tu fais quoi au juste ? Peux-tu mettre ton code ?
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  9. #9
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 65
    Points
    65
    Par défaut
    ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if( !ispostback)
    {
     
                    DropDownList5.Items.Clear();
     
                    ChargerDropListeCellules();
     
                        DropDownList5.Visible = true;   
     
    }

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Quand tu dis :

    Je ne peux plus rien sélectionné par la suite.
    Ca veux dire quoi ? Ton DDL est vide ? Il n y aucun élément sélectionné ? Ton DDL est invisible ?
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  11. #11
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 65
    Points
    65
    Par défaut
    Il est vide par la suite.

  12. #12
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 65
    Points
    65
    Par défaut
    C bon, j'ai mis causesValidation à true et la selection reste.
    Merci pour ton aide.
    Lazins

  13. #13
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    super
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

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

Discussions similaires

  1. Cycle de vie d'une page ASP
    Par hwoarang dans le forum ASP.NET
    Réponses: 5
    Dernier message: 12/10/2010, 17h24
  2. Cycle de vie d'une page ASP corrompu
    Par gabdeschenes dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/06/2009, 18h52
  3. Réponses: 3
    Dernier message: 13/11/2006, 23h25
  4. Réponses: 1
    Dernier message: 04/04/2006, 11h29

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