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 :

Récupérer valeur d'une liste dans une autre méthode [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Points : 10
    Points
    10
    Par défaut Récupérer valeur d'une liste dans une autre méthode
    (Rere)Bonjour,
    Jamais 2 sans 3 et comme les deux autre fois j'ai réussi à trouver mon problème tout seul en demandant de l'aide, peut être que ce sera la même ce coup ci.

    C'est je pense une question bête mais voila :

    Dans mon webform j'ai plusieurs choses dans mon code behind dont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    protected void Button1_Click(object sender, EventArgs e)
    protected void Button2_Click(object sender, EventArgs e)
    Dans mon Button1_Click je remplis une liste de valeur en fonction de FileUpload.FileName

    Comment faire pour recuperer cette liste dans la méthode Button2_Click ?

    Merci

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Effectivement en ASP.NET il n'y a pas de persistence entre les postback. Il faut donc passer par la Session ou le Cache par exemple. Je vais te donner un exemple en passant par la Session.

    On a une propriété MyList :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class MyClass
    {
        private List<int> MyList
        {
            get { return Session["MyList"] != null ? (List<int>)Session["MyList"] : null; }
            set { Session["MyList"] = value; }
        }
    }
    Cette propriété va permettre d'assigner une valeur à notre liste, et de la récupérer, le tout au travers de la Session.

    Il faut faire attention à ce que la liste soit initialisée, dans le Page_Load par exemple :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            this.MyList = new List<int>();
        }
    }
    Ensuite un petit code de démo :
    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
    protected void Button1_Click(object sender, EventArgs e)
    {
        // On ajoute un entier
        this.MyList.Add(1);
     
        // On affiche le nombre d'éléments de la liste
        Response.Write(this.MyList.Count.ToString());
    }
     
    protected void Button2_Click(object sender, EventArgs e)
    {
        // On ajoute un entier
        this.MyList.Add(2);
     
        // On affiche le nombre d'éléments de la liste
        Response.Write(this.MyList.Count.ToString());
    }

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci de m'accorder du temps.

    Ou dois je mettre la classe MyClass pour que ça fonctionne ?

    Et a quoi correspond Session["MyList"] ?

    Merci

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Bebird Voir le message
    Ou dois je mettre la classe MyClass pour que ça fonctionne ?
    C'est vrai que je n'ai pas précisé, MyClass c'est la class de ta page (ex. la class _Default pour la page Default.aspx).

    Citation Envoyé par Bebird Voir le message
    Et a quoi correspond Session["MyList"] ?
    Session c'est l'objet qui contient la session en cours pour l'utilisateur (chaque visiteur de ton site a une session créée automatiquement).

    C'est un peu comme un tableau, ou un property bag, dans lequel on peut stocker ce que l'on souhaite (il faut faire attention à ne pas non plus stocker trop de choses car ce n'est pas persistant).

    Si tu fais ça :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var maValeur = 0;
    Session["A"] = maValeur;
    Tu vas stocker la variable maValeur dans une variable de session appelée "A" ici.
    Pour la récupérer, il faut faire :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    var recupere = int.Parse(Session["A"]);
    La variable recupere aura donc pour valeur 0.

    Plus d'infos : utilisation des variables de session et d'application, passage d'argument à une url (télécharge le PDF du tome 3).

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    C'est vrai que je n'ai pas précisé, MyClass c'est la class de ta page (ex. la class _Default pour la page Default.aspx).
    Non c'est moi qui ai pas réfléchis sur le coup.

    Merci pour les explications Merci pour l'exemple, tout marche à merveille

    Bonne soirée

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/06/2015, 17h52
  2. [SP-2010] récupérer les terme d'une colonne d'une liste dans une autre liste
    Par Noruk dans le forum SharePoint
    Réponses: 2
    Dernier message: 09/02/2015, 18h15
  3. Réponses: 4
    Dernier message: 04/04/2011, 11h46
  4. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 14h51
  5. Réponses: 5
    Dernier message: 11/07/2007, 16h03

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