2012-02-21 4 views
6

Я работаю на веб-сайте asp.net с Vb.net, и у меня есть раскрывающийся список с autopostback = true, и мне нужно получить выбранное значение, когда я меняю элемент, или я хочу получить элемент, который запускает SelectedIndexChanged событие ..Выпадающее выбранное значение при событии Selectedindexchanged

любая помощь пожалуйста ..

ответ

6

В ИЭ. ваш 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; 
+0

Я сделал то, что у написал, но всегда я получаю первый элемент .. –

+0

Я отредактировал мой ответ, вы должны знать, что Page_Load выполняется перед SelectedIndexChanged, так все, что вы делаете с помощью combobox, повлияет на ваш результат. Используйте оператор if в верхней части страницы_Load. – Stian

+0

спасибо, что так много. теперь я могу получить истинный выбранный элемент. –

5

попробовать это:

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

Если элемент является словарь:

string value = ((KeyValuePair<string, string>)combobox.SelectedItem).Key; 
Смежные вопросы