尝试设置下拉列表的值

时间:2011-08-05 21:59:04

标签: c# asp.net

我正在尝试将下拉列表的值或文本设置为数据库拉取的值,这是通过实体传递的,当我调试时,我看到代码的右侧部分具有字符串值我想在下拉菜单上进行匹配,但是当我进入下一行时,左手边仍然选择 - 选择 - 项目

我正在尝试按如下方式分配

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();

上传递文本。

谢谢

4 个答案:

答案 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;