我只想要一个没有选定项目的ASP.NET DropDownList.到目前为止,将SelectedIndex设置为-1无济于事.我正在使用带有AJAX的Framework 3.5,即此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", ""));
将"请选择"下拉项添加到顶部.
并且如前所述,在下拉列表中始终只有一个项目被选中(我相信ListBoxes是不同的),如果没有明确选择,则默认为前一个.
可以使用客户端脚本将DropDownList的selectedIndex属性设置为-1(即清除选择):