Ho un tale aspx-code: (campione)Aggiunta ListItems ad una DropDownList da un elenco generico
<asp:DropDownList runat="server" ID="ddList1"></asp:DropDownList>
Con questo 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();
L'output è simile al seguente:
<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>
La mia domanda è: perché i miei valori (numeri) sono scomparsi e il testo utilizzato come valore E il testo? So che funziona se uso il metodo ddList1.Items.Add(New ListItem("text", "value"))
, ma ho bisogno di utilizzare un elenco generico come origine dati per altri motivi.
Perché si _need_ per impostare quel campo? Come ho detto, funziona quando ListItem viene aggiunto direttamente alla raccolta DropDownList.Items. Ho provato il tuo suggerimento e non ha aiutato. Vedi la mia domanda aggiornata. – Espo
Vedo. Ho aggiornato la risposta e aggiunto le informazioni per risolverlo. –
Funziona, grazie! – Espo