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 :

Recuperation d'un champ selectionné d'une dropdownlist crée dynamiquement


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 39
    Points : 15
    Points
    15
    Par défaut Recuperation d'un champ selectionné d'une dropdownlist crée dynamiquement
    Bonjour tout le monde,

    Voici mon souci: j'aimerais récupérer le champ sélectionné d 'une DropDownList qui a été crée dynamiquement.
    En effet le nombre d'élément de cette liste est changeant dc j' intialise la
    DropDownList dans le Page_Load... mais je ne peux pas récuperer le champ selectionné dans la fonction de traitement du bouton d 'envoie des informations du formulaire puisque ma DropDownList n 'existe pas.

    Je dois peut être utilisé le viewstate mais j' en ai aucune idée...

    Merci d 'avance,

    bonne journée

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 39
    Points : 15
    Points
    15
    Par défaut
    je ne l' ai pas précisé mais je ne veux pas récupérer le champ dans le gestionnaire d'evènement de type SelectedIndexChange ou TextChanged sinon c'est trivial

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2010
    Messages : 164
    Points : 220
    Points
    220
    Par défaut
    Je ne comprends pas bien ton souci.
    Je ne vois pas l'intérêt de créer dynamiquement ta dropdownlist.

    Ok, le nombre d'éléments est dynamique donc tu peux la déclarer dans le code aspx mais ne la remplir qu'une fois dans le page_load.

    Peux-tu préciser ton problème ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 39
    Points : 15
    Points
    15
    Par défaut
    Oui c 'est sur mais c 'était pour simplifier le problème , car tu peux toujours ajouter une nouvelle couche de variabilité, si par exemple il y a une DDL ds chaque colonne d'un tableau dt le nombre de colonne est lui même variable.

    c 'est juste récupérer les champs selectionnés mais je sais pas comment avoir une référence sur la DDL (où les DDL).

    Merci bien.

  5. #5
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Salut,

    C'est tout a fait possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ddl.AutoPostBack = true;
    ddl.SelectedIndexChanged += new EventHandler(ddlSelectedIndexChanged);
     
    private void ddlSelectedIndexChanged(Object o, EventArgs e)
    {
    //Fonction appelee lors de la selection d'un item
    }
    Note que la selection d'un item va générer un postback...

    a+

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 39
    Points : 15
    Points
    15
    Par défaut
    bah ça je savais faire c'est ce que j' ai expliqué ds le post deux....

    non la problématique est tout autre, justement récupérer la valeur sélectionnée
    mais en ne gérant pas les évènement liés à ce ddl, imagine juste un bouton quelconque de la page qui va lui , ds la fonction de traitement de l évènement "click" récupérer la valeur ...

    et encore une fois chose TRES importante , ce ddl a été crée dynamiquement sinon encore une fois c'est trivial.

    j 'espère être clair .

    merci beaucoup @++

  7. #7
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Dans le cadre de mon dev actuel, j'utilise presque uniquement des controles créés dynamiquement et je n'ai aucun souci pour recuperer les valeurs d'une DDL lors d'un appuie bouton. Par contre, est ce que tu pourrais preciser ou est le probleme ?

    Parce que d'apres ton 1er post :
    j' intialise la DropDownList dans le Page_Load
    et
    je ne peux pas récuperer le champ selectionné dans la fonction de traitement du bouton d 'envoie des informations du formulaire puisque ma DropDownList n 'existe pas
    Pourtant, l'evenement LOAD arrive bien avant la gestion des traitements de bouton... Donc je ne vois pas comment ta DDL peut ne pas exister.

    A la limite, un petit bout de code qui reproduit ton probleme?

  8. #8
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Points : 4 574
    Points
    4 574
    Par défaut
    Ta DropDownlist, tu l'a crée dans le Page_Load ?

    Sinon pour récupérer la valeur d'une DDL :


  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 39
    Points : 15
    Points
    15
    Par défaut
    Bonjour à tous, desolé je n 'etais pas là pendant un moment,

    alors oui ma ddl est crée ds page_load et je pense que c'est justement celà le probleme

    j' ai ce type de réponse :
    System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
    je 'n arrive pas à avoir la reference à l 'objet souhaité pour pouvoir recuperer la valeur


    pour résumer je crée dynamiquement un contrôle ( une ddl par exemple )ds le Page_load ( est ce que c'est le bon endroit pour le faire, je débute dc il faut que je comprenne mieux le cycle de vie de la page) il y a aussi un bouton crée dynamiquement ,

    je traite l evenement "click" de ce bouton par exemple ds une event handler et ds cette fonction je veux recuperer la valeur selectionnée de la ddl.

    voilà en esperant avoir été clair!!

    Merci bien et bon dimanche à tous!!

  10. #10
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Citation Envoyé par kaskroute Voir le message
    pour résumer je crée dynamiquement un contrôle ( une ddl par exemple )ds le Page_load ( est ce que c'est le bon endroit pour le faire, je débute dc il faut que je comprenne mieux le cycle de vie de la page) il y a aussi un bouton crée dynamiquement
    Oui, ce n'est pas le seul endroit ou tu peux le faire mais ca bon.

    Citation Envoyé par kaskroute Voir le message
    je 'n arrive pas à avoir la reference à l 'objet souhaité pour pouvoir recuperer la valeur
    L'exception que tu affiches correspond à l'utilisation d'un pointeur null et pas à une "mauvaise reference". A mon avis, ton probleme est plus basique que tu le crois. Mais si tu ne veux pas poster ton code, je pense qu'on va tourner en rond un moment...

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 39
    Points : 15
    Points
    15
    Par défaut
    bon finalement c'est bon j' ai rectifié ce qui n' allait pas

    voici le code

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
     
    public partial class Default4 : System.Web.UI.Page
     
     
    {
     
        protected void Page_PreInit(object sender, EventArgs e){
     
     
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            TextBox text = new TextBox();
            text.ID = "txt";
            text.Text = "jfdhjkdfhkl";
            this.Panel1.Controls.Add(text);
            DropDownList ddl = new DropDownList();
            ddl.ID = "ma_ddl";
            this.Panel1.Controls.Add(ddl);
            if (!Page.IsPostBack)
            {
     
     
                ddl.Items.Insert(0, new ListItem("a"));
                ddl.Items.Insert(1, new ListItem("b"));
     
            }
     
        }
     
     
     
        protected void Button2_Click(object sender, EventArgs e)
        {
     
            DropDownList ddl2 = (DropDownList)this.Panel1.FindControl("ma_ddl");
            this.Label1.Text = ddl2.SelectedItem.ToString();
        }
    }



    Merci beaucoup pour vôtre aide.

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

Discussions similaires

  1. [Débutant] Champ vide dans une DropDownList
    Par Genyuumaru dans le forum ASP.NET MVC
    Réponses: 5
    Dernier message: 16/11/2012, 09h44
  2. [AJAX] Enlever le champ d'une table crée dynamiquement
    Par jean christophe dans le forum AJAX
    Réponses: 2
    Dernier message: 09/02/2011, 13h58
  3. Réponses: 1
    Dernier message: 15/06/2008, 11h41
  4. Réponses: 2
    Dernier message: 29/12/2006, 16h56
  5. Réponses: 3
    Dernier message: 26/09/2006, 12h06

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