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 :

DropDownList dans UserControl et selectedValue


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 104
    Par défaut DropDownList dans UserControl et selectedValue
    Bonjour à tous,

    j'ai un problème que je n'arrive pas à résoudre.
    J'ai créé un contrôle utilisateur dans lequel j'ai un DropDownList, et je n'arrive pas à récupérer la valeur de celui-ci lorsque je change la sélection. Je me pose plusieurs questions :

    - à quel moment dois-je remplir mon Ddl ? lors du Page_Load() ou lors du UserControl_Load() ? dans les 2 cas, je teste bien, avant de remplir mon Ddl, qu'il ne s'agit pas d'un rechargement de page : (if(not IsPostback) then ... end if) mais cela ne change rien au fait que je récupère à chaque fois la valeur par défaut lors d'une sélection et non pas la valeur réellement sélectionnée...

    Le problème viendrait-il du fait que lors d'un postback, le controle est réinitialisé lors du Page_Load() et que cette fonction est appelée avant le UserControl_Load() ? je suis un peu perdu.

    Merci de vos éclaircissements.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu as défini la propriété DataValueField du DropDownList ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 104
    Par défaut
    je suppose que la propriété "DataValueField" sert pour la liaison de données ? Si c'est bien le cas, je pense que le prob ne vient pas de là car ici j'ai le probleme même lorsque je définis 4-5 items statiques.

    En fait, je pense avoir localisé mon prob :

    admettons que je crée 4 items "1", "2", "3" et "4" dans ma dropdownlist, et que le "1" soit sélectionné par défaut... Si je sélectionne le "3", lors de mon postback, dans ma fonction SelectedIndexChanged, je verrai toujours le "1" en SelectedValue. Il semble que lors du Postback, on passe d'abord dans le Page_Load() et ensuite dans le UserControl_Load(). Et apparemment, ce serait après être passée dans le Page_Load() que ma sélection se réinitialise...

    En conclusion, si je veux récupérer ma valeur sélectionnée, il suffit que je le fasse dans le Page_Load().

  4. #4
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Bonjour,

    Alors en fait "DataValueField" sert à te simplifier la vie dans le sens ou, quand tu va sélectionner un item dans ta Ddl tu y associera automatiquement sont ID par exemple; et celui-ci ne sera pas visible heureusement.

    Sinon, j'ai déjà eu ce problème, je l'ai résolue simplement en remplissant ma Ddl depuis le Page_Load() en vérifiant bien que le postback soit à false. Ce qui revient à dire qu'on charge la liste qu'une seule fois au premier affichage.

    Après si tu as besoins de mettre à jour ton listbox au fur et à mesure, créé une méthode que tu appel dans le Page_Load() lorsque IsPostBack == false, et rappel la une fois la récupération de tes informations terminée.

    Voilà en espérant t'aider

Discussions similaires

  1. Evénement d'un DropDownList dans un UserControl
    Par CYFL dans le forum ASP.NET
    Réponses: 0
    Dernier message: 04/08/2009, 17h38
  2. [C#] DropDownList dans un Repeater
    Par boleduch dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/02/2006, 14h44
  3. [C#][.Net 2.0]Détecter appui touche direction dans UserControl
    Par Harry_polin dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/02/2006, 20h46
  4. [VB.NET] [1.1] Datasource datagrid dans userControl
    Par Golzinne dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/12/2005, 20h35
  5. [C#] DropDownList dans un Table dynamiquement
    Par Mourad dans le forum ASP.NET
    Réponses: 12
    Dernier message: 30/04/2004, 15h09

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