Bonjour,

je m'arrache les cheveux depuis un moment sur un petit problème que je n'arrive pas à comprendre.

J'ai une chaîne de caractère qui contient des ";" afin de séparer des noms de couleurs.
Mon but est d'afficher sur mon site web une liste déroulante proposant chacune de ces couleurs afin que l'internaute puisse en choisir une.

Pour cela, j'utilise la fonction split qui fonctionne très bien et je décide d'ajouter chacune des couleurs dans un dropdownlist.

Résultat, pas de souci lorsque je vérifie le résultat de la fonction split qui m'a bien déterminé chaque couleurs distinctes. Par contre, dès que je souhaite remplir mon dropdownlist avec ces couleurs, il me les mets en double. Grrrrr !!

Voici mon code (vb.net) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
                    Dim strChaineColoris As String = "Rouge;vert;Bleu;Orange"
                    If strChaineColoris <> "" Then
                        Dim strAllItems1 As String() = strChaineColoris.Split(New Char() {";"c})
                        Dim strItem As String
                        For Each strItem In strAllItems1
                            Dim RadItem1 As New ListItem
                            RadItem1.Text = LCase(strItem)
                            RadItem1.Value = strItem
                            ChoixListeColoris.Items.Add(RadItem1)
                            RadItem1 = Nothing
                        Next
                    End If
J'obtient une liste déroulante avec ceci dedans (pas bon !) :

Rouge
vert
Bleu
orange
Rouge
vert
Bleu
orange



Or, si j'enlève mon code en rouge et que j'affiche pas à pas à l'écran le contenu de strItem, j'obtient bien la liste correcte suivante :

Rouge
vert
Bleu
orange


Donc d'où vient mon problème ?
je ne vois pas là