2010-02-08 69 views

回答

18

您可以将空项目程序添加到您的下拉列表的顶部是这样的:

myDropDown.Items.Insert(0, new ListItem(string.Empty, string.Empty)); 
myDropDown.SelectedIndex = 0; 
+0

谢谢你这一个工作得很好!!! – Eyla 2010-02-08 20:44:11

1

您可以将SelectedIndex属性设置为-1,也可以将空条目添加为数据源中的第一项并验证表单提交中的选择。

+1

“你可以SelectedIndex属性设置为-1” 这一个没有工作,我将selectedIndex属性 - 1在loadpage事件中,但没有工作,并且如果将它设置为2或3但不是-1,则工作。 – Eyla 2010-02-08 20:38:19

0

yourDropDownList.Items.Clear()

重新填充,可以静态地添加的项目,如每womps建议(在insert()方法代PARAMS,也可以从数据源动态填充它。该后备存储列表项是ListItemCollection

+0

这将删除所有项目,而不仅仅是清除所选项目。 – womp 2010-02-08 20:30:00

+0

我同意,这个问题是模棱两可的,虽然 – flesh 2010-02-08 20:30:47

+0

同意模糊 - 我只是帮助清理它会做什么。不知道为什么你downvoted - 对不起,如果我的评论原因:( – womp 2010-02-08 20:33:27

4

不知道我理解你的问题b在插入之前

DropDownList1.ClearSelection() 

DropDownList1.SelectedIndex = -1; 
+0

doesn'在我的工作 – Gqqnbig 2016-06-04 00:26:31

0

如果下拉列表是由数据源稀少,是重要的做的DataBind:UT尝试。否则,项目插入不会发生。

myDropDown.DataBind(); 
myDropDown.Items.Insert(0, new ListItem(string.Empty, string.Empty)); 
myDropDown.SelectedIndex = 0; 

https://stackoverflow.com/a/2224636/1467453

1

这应该在客户端的工作:

<asp:DropDownList ID="YourID" runat="server" DataSourceID="YourDataSource 
DataTextField="Text" DataValueField="Value" AppendDataBoundItems="True"> 
    <asp:ListItem Text="" Selected="True"></asp:ListItem> 
</asp:DropDownList> 
相关问题