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

Dotnet Discussion :

[WebForms][Viewstate/Session] Comment recuperer la valeur de DropDownList


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Par défaut [WebForms][Viewstate/Session] Comment recuperer la valeur de DropDownList
    Bonjour,

    J'ai une page aspx qui contient une DropDownList MaDDL.
    Ma page sur l'appui d'un bouton récupère la valeur sélectionnée dans MaDDL.

    Jusque là tout va bien.

    Maintenant je discute en terme de session :
    - J'ouvre une session 1
    - J'ouvre une session 2
    - Je sélectionnes un item dans MaDDL de session 1
    - Je sélectionnes un item dans MaDDL de session 2

    PB : Quand j'appuie sur le bouton sur session 1, je récupère la valeur de session 2 (MaDDL.SelectedValue).


    Comment résoudre le problème ?
    ViewState, Variables de Session ?
    Quel est l'état de l'art ?
    Et si je dois surcharger l'évènement SelectIndexChanged, la solution à mon problème diffère-t-elle ?

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Citation Envoyé par n00bi
    Maintenant je discute en terme de session :
    - J'ouvre une session 1
    - J'ouvre une session 2
    - Je sélectionnes un item dans MaDDL de session 1
    - Je sélectionnes un item dans MaDDL de session 2

    PB : Quand j'appuie sur le bouton sur session 1, je récupère la valeur de session 2 (MaDDL.SelectedValue).
    Imaginons que tu ais un objet de session qui est à 1 pour le client 1 et l'autre à 2 pour le client 2.
    Le client 1 sélectionne l'index 3, il appuie sur le bouton et il récupère la valeur à l'index 3.
    Le client 2 sélectionne l'index 4, il appuie sur le bouton et il récupère la valeur à l'index 3 aussi.

    C'est ça qui se passe ?

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    met peut etre un bout de code, je suppose que par session tu parles pas de Session[""], sinon tu ne poserais pas la question en dessous.
    Viewstate te gardera la valeur sélectionnée pour la page seulement, tandis que Session te gardera la valeur tout le temps que ton browser sera ouvert.

    Fix

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Par défaut
    Citation Envoyé par Goldar
    Imaginons que tu ais un objet de session qui est à 1 pour le client 1 et l'autre à 2 pour le client 2.
    Le client 1 sélectionne l'index 3, il appuie sur le bouton et il récupère la valeur à l'index 3.
    Le client 2 sélectionne l'index 4, il appuie sur le bouton et il récupère la valeur à l'index 3 aussi.

    C'est ça qui se passe ?
    Non ça ca se passe bien. Parce que entre la sélection sur le client 1, et l'appui sur le bouton sur le client 2, il y a une sélection sur le client 2.

    Ce qui se passe mal c'est :
    Le client 2 sélectionne l'index 4,
    Le client 1 sélectionne l'index 3,
    Le client 2 appuie sur le bouton. => Là il récupère l'index 3.

  5. #5
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Citation Envoyé par n00bi
    Ce qui se passe mal c'est :
    Le client 2 sélectionne l'index 4,
    Le client 1 sélectionne l'index 3,
    Le client 2 appuie sur le bouton. => Là il récupère l'index 3.
    Are u sure ?

    Plus sérieusement et ne le prend pas mal, on sait jamais: Tu regardes SelectedIndex ? Si oui, as tu pensé au fait que l'index commence à 0 ? Donc 3 donne 4.


    Sinon, c'est vrai qu'un peu de code éclairerait le problème.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Par défaut
    En fait c'est un peu plus compliqué que ça.

    J'ai une page aspx qui encapsule un contrôle utilisateur ascx.

    - L'ASPX contient la DDL.
    - L'ASCX contient le BOUTON, et son CodeBEHIND une propriété ValeurDDL.

    Sur le OnLoad de la Page ASPX, il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PageASCX.ValeurDDL = DDL.SelectedValue;
    et sur le click sur le bouton (méthode qui se trouve dans le codeBehind de la page ASCX), il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Recup = ValeurDDL;
    Donc si la scénario suivant se produit :
    - User1 ouvre une session et va sur la page ASPX (par défaut la ddl se met sur User1).
    - User2 ouvre une session et va sur la page ASPX (par défaut la ddl se met sur User2).
    - User1 appuies sur le Bouton

    La chose suivante se produit :
    - User1 récupère la valeur User2.

  7. #7
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Est-ce que l'action à traiter est longue?
    Car, sinon, je ne sais pas si ça peut servir là, mais il y a la commande Mutex, qui permet de faire un peu comme une liste d'attente, je te laisse aller voir sur la MSDN.Mutex (classe)

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

Discussions similaires

  1. Comment recuperer la valeur d'une variable de session avec du javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/09/2006, 10h40
  2. Réponses: 4
    Dernier message: 10/01/2006, 10h22
  3. Comment recuperer un valeur envoyé dans une URL
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/12/2005, 11h28
  4. Réponses: 5
    Dernier message: 17/06/2005, 16h17
  5. comment recuperer deux valeurs de deux champs input
    Par trialrofr dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/02/2005, 22h08

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