2016-10-20 12 views
0

ここドロップダウンでアイテムが選択されている理由

<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

何も選択されていないことを示すために「選択してください」というラベルの付いた項目はありませんか? – Paulj

答えて

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; 
    } 
関連する問題