8

I'm working on asp.net website with Vb.net and I have a dropdownlist with autopostback = true and I need to get the selected value when I change the item or I want to get the item which fires the selectedindexchanged event ..

any help please..

mxmissile
  • 11,464
  • 3
  • 53
  • 79
Amr Elnashar
  • 1,739
  • 12
  • 33
  • 53

3 Answers3

8

try this:

    protected void list_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList list = (DropDownList)sender;
        string value = (string)list.SelectedValue;
    }
Frank Lee
  • 81
  • 1
  • 4
8

In ie. your Page_Load set

this.ComboBox1.SelectedIndexChanged += new System.EventHandler(ComboBox1_SelectedIndexChanged);

Then write the event handler like this:

private void ComboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
  ComboBox comboBox = (ComboBox) sender;
  string selected = (string) comboBox.SelectedItem;
}

Make sure that in your Page_Load you write this before setting the combobox default value or you will end up with this always being the selected item:

if (Page.IsPostBack)
  return;
Stian
  • 1,261
  • 2
  • 19
  • 38
  • I edited my answer, you need to be aware that the Page_Load is executed before the SelectedIndexChanged, so anything you do with the combobox here will affect your result. Use the if statement in the top section of Page_Load. – Stian Feb 21 '12 at 02:36
  • shouldn't this: `ComboBox1.SelectedItem;` be this: `comboBox.SelectedItem;` ? – devlin carnate May 26 '16 at 21:19
  • It's amazing how the OP specified in the question that he's working on a asp.net website with **Vb.net** but all the answers on here are C#?? lol – Danny Jun 19 '17 at 09:42
0

If item is a Dictionary:

string value = ((KeyValuePair<string, string>)combobox.SelectedItem).Key;