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 :

Problème de DropDownList [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Par défaut Problème de DropDownList
    Bonjour,

    J'ai un souci avec une DropDownList que je n'arrive pas à remplir (tout du moins elle est vide à l'affichage).
    J'ai utilisé le code C# proposé sur MSDN mais malgrès cela, ma liste reste vide.

    Voici le code avec un commentaire pour éclaircir une partie non concernée par le problème (tout du moins, il me semble).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:DropDownList id="contentUrls" runat="server"/>
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                contentUrls.DataSource = CreateDataSource();
                contentUrls.DataTextField = "ContentTextField";
                contentUrls.DataValueField = "ContentValueField";
                contentUrls.DataBind();
            }
        }
     
        ICollection CreateDataSource()
        {
            DataTable dt = new DataTable();
     
            dt.Columns.Add(new DataColumn("ContentTextField"));
            dt.Columns.Add(new DataColumn("ContentValueField"));
            //Ceci est un code qui va récupérer les nom des fichiers présents dans le dossier content. Il fonctionne parfaitement hors de ce contexte.
            DirectoryInfo di = new DirectoryInfo(Server.MapPath("../content"));
            FileInfo[] rgFiles = di.GetFiles("*_content.html");
            foreach (FileInfo fi in rgFiles)
            {
                dt.Rows.Add(CreateRow(fi.Name, fi.Name, dt));
            }
            //Tout de même, au cas ou un problème intervienne ci dessus, j'ajoute une ligne en dur.
            dt.Rows.Add(CreateRow("test", "test", dt));
            DataView dv = new DataView(dt);
            return dv;
     
        }
     
        DataRow CreateRow(String Text, String Value, DataTable dt)
        {
            DataRow dr = dt.NewRow();
     
            dr[0] = Text;
            dr[1] = Value;
     
            return dr;
     
        }
    J'ai du mal à trouver la coquille... Est-ce que quelqu'un peut m'aiguiller ?

    Merci !

    Résolu: La faute ne viens pas du code mais du contexte. Ceci fonctionne à merveille, à utiliser sans modération !

  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 : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    Apparemment le problème provient de la ligne 26 :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    dt.Rows.Add("test", "test", dt);

    Ca fonctionne mieux avec la méthode CreateRow :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    dt.Rows.Add(CreateRow("test", "test", dt));

    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Par défaut
    Hum j'avoue que j'aurai du voir celle la...
    Ceci dit, le problème reste le même, je fais toujours face à une DropDownList vide .
    Je corrige sur le premier post.

  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 : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DirectoryInfo di = new DirectoryInfo(Server.MapPath("../content"));
    FileInfo[] rgFiles = di.GetFiles("*_content.html");
    foreach (FileInfo fi in rgFiles)
    {
     dt.Rows.Add(CreateRow(fi.Name, fi.Name, dt));
    }

    Es-tu absolument sûr et certain que ce code fonctionne comme il faut ?

    Autre question, est-ce que tu vois ton item "test" dans la dropdownlist ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Par défaut
    Es-tu absolument sûr et certain que ce code fonctionne comme il faut ?
    Absolument, je l'ai déja utilisé de nombreuses fois.

    Autre question, est-ce que tu vois ton item "test" dans la dropdownlist ?
    Justement non, il n'apparait pas !

    Merci pour ton aide

  6. #6
    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 : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    C'est étrange, car je teste chez moi et ça fonctionne bien

    Tu utilises quel navigateur ? N'aurais-tu pas un problème de cache ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2009
    Messages : 186
    Par défaut
    Bonjour,

    J'ai copié collé ton code et il fonctionne parfaitement chez moi. J'ai juste remplacé ton nom de répertoire par un des miens et le nom des fichiers par "*.*". J'ai également l'item "test" qui apparaît.

    C'est peut-être une erreur de contexte. Ce n'est pas le nom des fichiers qui pose problème puisqu'il n'affiche pas non plus ton item "test".

    Tu n'effectues aucun traitement après ton binding ? Rien d'autre que ce code qui manipule ta liste ?

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Par défaut
    Pour sur, aucun problème de cache. Je fais toujours mes essais avec IE, Firefox et Chrome et nettoie régulièrement la cache.

    J'ai réussi à faire fonctionner ce script en le sortant de son contexte...
    Je continue mon débogage maintenant que je sais un peu mieux ou chercher. Je reviens ici avant de devenir chauve.

    Merci d'avoir testé ! Tout fonctionne très bien... c'est juste moi qui galère !

    Pour répondre à ptilemare: en fait j'utilise ckeditor et dans ma page .asp j'ai un ckeditor et deux boutons (load et save). Pour cette liste, il n'y a aucun autre traitement qui la concerne. Tout est la ! Je jette un coup d'oeil et si vraiment je coince je reviens vers vous ! Milles merci

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Par défaut
    Bonjour,

    Juste pour signaler que j'ai trouvé.
    Même si j'ai un peu honte, je vous dis ce qui n'allait pas (débutant hein ! )
    J'avais deux méthodes: onload et page_load qui bien sûr rentraient en conflit !(de quelle manière, je n'en sais rien mais depuis que je les ai fusionnées, tout fonctionne à merveille)

    Bon ce code fonctionne et est à utiliser sans modération tellement il est pratique !
    Bon continuation à tous !

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

Discussions similaires

  1. problème avec DropDownList
    Par kaoutar90 dans le forum ASP.NET MVC
    Réponses: 7
    Dernier message: 08/06/2011, 10h35
  2. Problème avec DropDownList dans ASP.NET AJAX
    Par jkakim dans le forum ASP.NET Ajax
    Réponses: 0
    Dernier message: 16/09/2010, 17h35
  3. problème gridview + dropdownlist
    Par sky88 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 31/08/2010, 11h08
  4. Problème avec DropDownList
    Par jujudrogba dans le forum Delphi .NET
    Réponses: 5
    Dernier message: 23/01/2009, 18h06
  5. Problème de dropdownlist
    Par intissar_g dans le forum ASP.NET
    Réponses: 3
    Dernier message: 28/08/2007, 11h54

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