asp.net下拉列表findbytext
我使用以下选项让下拉列表从列表中选择一个项目:
ddlIndustry.Items.FindByText("Trucking").Selected = true;
这样做有另一种逻辑吗?
我注意到如果我这样做:
ddlIndustry.Items.FindByText("Trucking").Selected = true;
然后在代码中执行以下操作:
ddlIndustry.Items.FindByText("Cards").Selected = true;
我收到错误消息,说不能选择多个项目。
这是你想要做的:
ddlIndustry.SelectedValue = ddlIndustry.Items.FindByText("Cards").Value;
问题是将ListItem
为Selected
不会清除其他ListItem的选择。 请记住, Items
属性是ListItemColletion
,它也用于ListBox
和CheckListBox
,它允许多项选择(而DropDownList
不允许这样做,这就是你得到错误的原因)。
使用DropDownList
的SelectedValue
属性可以为您进行多项选择,取消选择以前选择的项目并按值选择新项目。
您可以在此处检查相关问题: https : //stackoverflow.com/a/16068632/570191
尝试使用ClearSelection
清除以前的选择:
ddlIndustry.ClearSelection(); if (ddlIndustry.Items.FindByText("Cards") != null) ddlIndustry.Items.FindByText("Cards").Selected = true;