J'ai ce ASPX code: (exemple)Ajout ListItems à un DropDownList à partir d'une liste générique
<asp:DropDownList runat="server" ID="ddList1"></asp:DropDownList>
Avec cette codebehind:
List<System.Web.UI.WebControls.ListItem> colors = new List<System.Web.UI.WebControls.ListItem>();
colors.Add(new ListItem("Select Value", "0"));
colors.Add(new ListItem("Red", "1"));
colors.Add(new ListItem("Green", "2"));
colors.Add(new ListItem("Blue", "3"));
ddList1.DataSource = colors;
ddList1.DataBind();
La sortie ressemble à ceci:
<select name="ddList1" id="ddList1">
<option value="Select Value">Select Value</option>
<option value="Red">Red</option>
<option value="Green">Green</option>
<option value="Blue">Blue</option>
</select>
Ma question est: Pourquoi mes valeurs (nombres) ont-elles disparu et le texte utilisé comme valeur ET le texte? Je sais que cela fonctionne si j'utilise la méthode ddList1.Items.Add(New ListItem("text", "value"))
, mais j'ai besoin d'utiliser une liste générique comme source de données pour d'autres raisons.
Pourquoi ai-je besoin de définir ce champ? Comme je l'ai dit, cela fonctionne quand le ListItem est ajouté directement à la collection DropDownList.Items. J'ai essayé votre suggestion et cela n'a pas aidé. Voir ma question mise à jour. – Espo
Je vois. J'ai mis à jour la réponse et ajouté l'information pour corriger cela. –
Ça marche, merci! – Espo