我有一个变量值字符串 i = xyz; 我想从变量值中设置下拉列表 selectedIndex 值。
我正在尝试这个
dd_Interest.SelectedIndex = dd_Interest.Items.IndexOf(dd_Interest.Items.FindByText(categoryInterest1));
但它不起作用我该怎么做?等待回复
您无需查找所选项目的索引,只需尝试以下代码即可获取下拉列表的选定值。
dd_Interest.SelectedItem.Value = Convert.ToString(Request.QueryString["searchInterest"]);
或者还有其他一些方法,如下所示:
dd_Interest.Items.FindByText(Convert.ToString(Request.QueryString["searchInterest"])).Selected= true;
就这样。
怎么样:
dd_Interest.Items.FindByText("some text").Selected = true;
或者
dd_Interest.Items.FindByValue("some value").Selected = true
您还可以使用 Linq 在两者之间进行组合:
ListItem item = dd_Interest.Items.Cast<ListItem>()
.FirstOrDefault(x => x.Text == "some text"|| x.Value == "some value");
if (item != null)
{
item.Selected = true;
}
希望这可以帮助 :)
我读了你的评论,我不确定你遇到了什么错误。无论如何,我在您的评论中看到了一些奇怪的东西...
这是一个查询字符串 (Request.QueryString["searchInterest"];),我在变量 str_LastSearchInterest = Request.QueryString["searchInterest"]; 中获得查询字符串值 我得到 querystring(Interest|AP Chinese) 然后我将AP 中文存储在一个变量categoryInterest1 = str_LastSearchInterest.Split('|')[0].ToString(); 和对 categoryInterest2 的兴趣= str_LastSearchInterest.Split('|')[1].ToString();
但是拆分后,索引0应该存储“兴趣”,索引1应该存储“AP中文”。所以 categoryInterest1 的值应该是“Interest”,而不是“AP Chinese”。那么如果你想找到“AP Chinese”的索引并选择它作为默认值,你必须使用categoryInterest2来代替。