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 :

Variable de session


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 72
    Par défaut Variable de session
    j'ai un problème de variable de session quand je déplace dans mes 2 pages :

    dans ma 1 ere page je charge mes données dans un drop down liste, quand je clique sur un button j'envoie un variable de session qui contient la valeur de drop down liste au 2 ème page(dans la 2 eme page je récupère ma variable de session), mon Probleme c'est quand je déplace de ma 2 eme page au 1 ème page ma drop down liste n'affiche rien par contre moi je veux qu'il me charge avec la variable de session issue de ma 2 ème page
    voila mon code :

    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
    if (!IsPostBack)
            { if (Session["site"] == null)
                { 
                   DropDownListProject.DataSource = MyProject.GetAll();
                   DropDownListProject.DataTextField = "champs";
                   this.DataBind();
             // sa marche bien
                }
                else
                {
                   string  teste = Session["site"].ToString();
                    DropDownListProject.DataValueField = teste;
                 // sa ne marche pas bien 
                }
            }

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    je trouve ton code trés bizarre.

    d'aprés ce code tu ne rentrera jamais dans ton else ou ta dropDown ne sera pas alimenter.

    deroulement:
    tu rentre dans le ce code que la premiere fois que tu arrive sur ta page grace au
    if (!IsPostBack)

    En suite si ta variable de session est null tu bind tes data juste sur le textField.
    Si ta variable de session n'est pas null ta dropdown ne sera pas alimenter étant donner que je le rappelle tu n'est pas dans un postBack.

    tu devrais regarder ca de plus pret.



    Et d'un coté tu set le TextField et de l'autre le Value field c'est surement fais exprès mais ca m'interpelle.
    Aussi aprés avoir set le Value field tu dois faire un DataBind de ta dropdown.

    Que veux tu faire, quel est ton but?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 72
    Par défaut
    Mon but c'est de récupérer la variable session issue de ma 2 eme page pour le mettre (afficher) dans le drop down liste liste de ma 1 ere page.

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Attend que je recapitule.

    Tes deux pages elles sont distinctes.
    Ton déroulement:
    Page1+ddl normale -> page2 + Session -> page1 ddl avec Session

    n'hésite pas a me dire si c'est pas ca.

    La comme ca a première vu le mieux serait de stocker ta datasource (surment un DataSet) en Session

    Pour la Page1 si les datasource sont bien différentes

    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
    if (!IsPostBack)
            { if (Session["site"] == null)
                { 
                   DropDownListProject.DataSource = MyProject.GetAll();
     
                }
                else
                {
                   //je pense que le cast n'est pas obligatoire mais a voir au cas ou.
                  DropDownListProject.DataSource = (Dataset)Session["site"];
                }
                   DropDownListProject.DataTextField = "champs";
                   DropDownListProject.DataBind();
            }
     
    evidement dans la page2
    Session["site"] = MyProject.GetOtherAll();
    Je sais pas si c'est ca que tu veux.
    apres si la meme source de donnée mais que tu veux juste changer le TextField

    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
    if (!IsPostBack)
            { 
               DropDownListProject.DataSource = MyProject.GetAll();
               if (Session["site"] == null)
                { 
                   DropDownListProject.DataTextField = "champs";
     
                }
                else
                {
     
                  DropDownListProject.DataTextField = Session["site"].ToString();
                }
                   DropDownListProject.DataBind();
            }
     
    evidement dans la page2
    Session["site"] = "OtherTextField";

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 72
    Par défaut
    j'ai résolu le problème , merci pour toi
    j'ai ajouter sur votre code , le code avec **
    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
    if (!IsPostBack)
            { 
               DropDownListProject.DataSource = MyProject.GetAll();
               if (Session["site"] == null)
                { 
                   DropDownListProject.DataTextField = "champs";
                   this.DataBind();
     
                }
                else
                {
                   // **
                    string   teste = Session["site"].ToString();
                     DropDownListProject.DataTextField = "champs";
                     this.DataBind();
                     DropDownListProject.Items.Insert(0,new ListItem(teste,teste));
                     DropDownListProject.SelectedValue = DropDownListProject.SelectedItem.Selected.ToString();
                }             
            }
    le probleme c'est au niveau de databind()
    aussi que je creé une nouvelle liste pour l'afficter la nouvelle valeur de la variable de session issue de ma page 2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string  teste = Session["site"].ToString();

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

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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