Ajouter ListItems à un DropDownList à partir d'une liste générique

J'ai cette aspx-code: (exemple)

<asp:DropDownList runat="server" ID="ddList1"></asp:DropDownList>   

Avec ce code:

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) disparaissent et que le texte utilisé comme valeur ET le texte? Je sais que cela fonctionne si j'utilise le ddList1.Items.Add(New ListItem("text", "value")) méthode, mais j'ai besoin d'utiliser une liste générique comme source de données pour d'autres raisons.

source d'informationauteur Espo