我正在尝试将下拉列表的值或文本设置为数据库拉取的值,这是通过实体传递的,当我调试时,我看到代码的右侧部分具有字符串值我想在下拉菜单上进行匹配,但是当我进入下一行时,左手边仍然选择 - 选择 - 项目
我正在尝试按如下方式分配
ddlMyDropDown.SelectedItem.Text = Clients.MerchandiseType.ToString();
通过它的步骤
ddlMyDropDown.SelectedItem.Text contains "--Select --"
Clients.MerchandiseType.ToString() contains "Sporting Goods"
ddlMyDropDown有一个名为“Sporting Goods”的项目,但是当我使用上面的代码时它永远不会选择它,我不知道为什么。反正有没有实现这个目标?
我不是试图更改任何值,而是将ddlMyDropDown设置为Clients.MerchandiseType.ToString()中的Text。下拉列表将始终在Clients.Merchandise.ToString();
上传递文本。谢谢
答案 0 :(得分:1)
目前还不确定方法名称,因为我不在视觉工作室的电脑上,但这里有一些提示。
var text = Clients.MerchandiseType.ToString();
var item = ddlMyDropDown.Find(text); //Some method that returns a list item
ddlMyDropDown.SelectedItem = item;
希望这有帮助。
如果明天不是更好的答案,我会发布一个完整的解决方案。
答案 1 :(得分:0)
尝试
ddlMyDropDown.SelectedIndex = Combox1.FindStringExact(Clients.MerchandiseType.ToString());
不确定,但我认为您无法通过更改SelectedText来更改所选项目。
答案 2 :(得分:0)
你必须设置
ddlMyDropDown.SelectedIndex = i
或
ddlMyDropDown.SelectedItem = item
答案 3 :(得分:0)
使用以下其中一项:
ddlMyDropDown.SelectedValue = Clients.MerchandiseType.ToString();
OR
ListItem item = ddlMyDropDown.Items.FindItemByValue(Clients.MerchandiseType.ToString());
if (item != null)
item.Selected = true;