正在尝试设置下拉列表的值

本文关键字:下拉列表 设置 | 更新日期: 2023-09-27 18:04:44

我正试图将下拉列表的值或文本设置为数据库提取的值,这是通过实体传递的,当我调试时,我看到代码的右侧部分有我想在下拉列表中匹配的字符串值,但当我执行步骤并转到下一行时,左侧仍然选择--Select--item

我正试图将其分配如下

ddlMyDropDown.SelectedItem.Text = Clients.MerchandiseType.ToString();

当通过它

ddlMyDropDown.SelectedItem.Text contains "--Select --"
Clients.MerchandiseType.ToString() contains "Sporting Goods"

ddlMyDropDown有一个名为"体育用品"的项目,但当我使用上面的代码时,它从未选择它,我不知道为什么。有没有办法做到这一点?

我不想更改或更改任何值,而是将ddlMyDropDown设置为Clients.MerchandiseType.ToString((中的Text。下拉菜单将始终将文本传递到Clients.MerchaniseToString((;

感谢

正在尝试设置下拉列表的值

目前不确定方法名称,因为我不在带visual Studio的电脑上,但这里有一些提示。

var text = Clients.MerchandiseType.ToString();
var item = ddlMyDropDown.Find(text); //Some method that returns a list item
ddlMyDropDown.SelectedItem = item;

希望这能有所帮助。

如果明天没有更好的答案,我会发布一个完整的解决方案。

尝试

ddlMyDropDown.SelectedIndex = Combox1.FindStringExact(Clients.MerchandiseType.ToString());

不确定,但我认为您无法通过更改SelectedText来更改Selected Item。

您必须设置

ddlMyDropDown.SelectedIndex = i

ddlMyDropDown.SelectedItem = item

使用以下选项之一:

ddlMyDropDown.SelectedValue = Clients.MerchandiseType.ToString();

ListItem item = ddlMyDropDown.Items.FindItemByValue(Clients.MerchandiseType.ToString());
if (item != null)
   item.Selected = true;