Asp.net

“DropDownList.SelectedIndex = -1”問題

  • November 4, 2012

我只想要一個沒有選定項目的 ASP.NET DropDownList。到目前為止,將 SelectedIndex 設置為 -1 無濟於事。我將Framework 3.5 與AJAX 一起使用,即這個DropDownList 在UpdatePanel 中。這是我正在做的事情:

   protected void Page_Load (object sender, EventArgs e)
   {
       this.myDropDownList.SelectedIndex = -1;
       this.myDropDownList.ClearSelection();

       this.myDropDownList.Items.Add("Item1");
       this.myDropDownList.Items.Add("Item2");
   }

當我在 DropDown 中添加一個元素時,它的 SelectedIndex 更改為 0,並且不能再設置為 -1(我也嘗試在添加項目後呼叫 SelectedIndex)……我做錯了什麼?螞蟻幫助將不勝感激!

請記住,如果您在執行 DataSource/DataBind 呼叫後呼叫 myDropDownList.Items.Add 將在底部添加一個新的 Listitem 元素,因此請改用 myDropDownList.Items.Insert 方法,例如…

myDropDownList.DataSource = DataAccess.GetDropDownItems(); // Psuedo Code
myDropDownList.DataTextField = "Value";
myDropDownList.DataValueField = "Id";
myDropDownList.DataBind();

myDropDownList.Items.Insert(0, new ListItem("Please select", ""));

將“請選擇”下拉項添加到頂部。

並且如前所述,在下拉列表中總是會選擇一個項目(我相信 ListBox 是不同的),如果沒有明確選擇,則預設為最上面的項目。

引用自:https://stackoverflow.com/questions/81214