Как вы программно добавляете ListItems в DropDownList в ASP.NET?

Я пытаюсь добавить элементы в раскрывающийся список, используя список ListItems, но он не получает значение (только текст).

Код ниже (упрощен по сравнению с кодом, который я фактически использую):

    PositionDropDown.DataSource = GetPositionOptions();
    PositionDropDown.DataBind();


    private List<ListItem> GetPositionOptions() 
    {
        List<ListItem> items = new List<ListItem>();
        items.Add(new ListItem("",""));
        items.Add(new ListItem("Top (main)", "TOP"));
        items.Add(new ListItem("Bottom (full width)", "BTM"));
        items.Add(new ListItem("Bottom Left", "MIL"));
        items.Add(new ListItem("Bottom Middle", "MID"));
        return items;
    }

Однако в отображаемом HTML отсутствуют значения, указанные во втором параметре конструктора ListItem:

<option value=""></option>
<option value="Top (main)">Top (main)</option>
<option value="Bottom (full width)">Bottom (full width)</option>
<option value="Bottom Left">Bottom Left</option>
<option value="Bottom Middle">Bottom Middle</option>

Почему он не использует указанный " значение» и вместо этого просто повторять «имя» при рендеринге HTML? Что я делаю неправильно?

6
задан NickG 21 March 2012 в 15:02
поделиться