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; 

问题是将ListItemSelected不会清除其他ListItem的选择。 请记住, Items属性是ListItemColletion ,它也用于ListBoxCheckListBox ,它允许多项选择(而DropDownList不允许这样做,这就是你得到错误的原因)。

使用DropDownListSelectedValue属性可以为您进行多项选择,取消选择以前选择的项目并按值选择新项目。

您可以在此处检查相关问题: https : //stackoverflow.com/a/16068632/570191

尝试使用ClearSelection清除以前的选择:

 ddlIndustry.ClearSelection(); if (ddlIndustry.Items.FindByText("Cards") != null) ddlIndustry.Items.FindByText("Cards").Selected = true;