为什么在下拉列表中选择了一个项目?

时间:2016-10-20 20:25:36

标签: c# asp.net webforms

我有一个下拉列表

<asp:Label runat="server" Text="Available Items"></asp:Label>
<asp:DropDownList runat="server" ID="ddItems"  />

以下是此下拉列表中数据的填充方式。

protected void Page_Load(object sender, EventArgs e)
        {
            this.ddItems.Items.Add(new ListItem("first item", "1"));
            this.ddItems.Items.Add(new ListItem("second item", "2"));
            this.ddItems.Items.Add(new ListItem("third item", "3"));
            this.ddItems.SelectedIndex = -1;
        }

由于SelectedIndex设置为-1,我预计不会选择任何项目,但下拉列表中会显示第一项。

enter image description here

我做错了什么?

1 个答案:

答案 0 :(得分:1)

-1不引用列表中的位置,因此您需要添加具有默认文本或空字符串的项目。

Protected void Page_Load(object sender, EventArgs e)
    {
        // You can set the first list item text to empty string as well
        this.ddItems.Items.Add(new ListItem("select an item", ""));
        this.ddItems.Items.Add(new ListItem("first item", "1"));
        this.ddItems.Items.Add(new ListItem("second item", "2"));
        this.ddItems.Items.Add(new ListItem("third item", "3"));

        //This is no longer required as the default selected index is 0
        this.ddItems.SelectedIndex = 0;
    }