下拉列表在选中项更改事件中的选定值

9

我正在使用Vb.net开发asp.net网站,其中有一个autopostback = true的下拉菜单。当我更改选项时,需要获取所选值或者获取触发selectedindexchanged事件的项。请问有什么帮助吗?

3个回答

9

试一下这个:

    protected void list_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList list = (DropDownList)sender;
        string value = (string)list.SelectedValue;
    }

2
这会给我一个SelectedValue,而不是新选择的设置。 - user1431356

8
在ie浏览器中,在你的Page_Load中设置:
this.ComboBox1.SelectedIndexChanged += new System.EventHandler(ComboBox1_SelectedIndexChanged);

然后像这样编写事件处理程序:
private void ComboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
  ComboBox comboBox = (ComboBox) sender;
  string selected = (string) comboBox.SelectedItem;
}

确保在Page_Load中在设置组合框默认值之前编写此内容,否则您将始终选择此项:

if (Page.IsPostBack)
  return;

我编辑了我的答案,你需要知道 Page_Load 在 SelectedIndexChanged 之前执行,所以你在这里对下拉框做的任何事情都会影响你的结果。在 Page_Load 的顶部部分使用 if 语句。 - Stian
这个应该是不是应该这样写:comboBox.SelectedItem;,而不是ComboBox1.SelectedItem; - devlin carnate
真是太神奇了,问题中明确指出他正在使用 Vb.net 的 asp.net 网站,但这里的所有答案都是 C#??哈哈 - Danny

0
如果item是一个字典:
string value = ((KeyValuePair<string, string>)combobox.SelectedItem).Key;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接