2012-02-21 10 views

risposta

6

in iE. il tuo Page_Load set

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

Quindi scrivere il gestore di eventi come questo:

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

Assicurarsi che nella vostra Page_Load si scrive questo prima di impostare il valore di casella combinata di default o si finirà con questo essere sempre il elemento selezionato:

if (Page.IsPostBack) 
    return; 
+0

Ho fatto quello che u ha scritto ma sempre ottengo la prima voce .. –

+0

Ho modificato la mia risposta, è necessario essere consapevoli del fatto che il Page_Load viene eseguito prima della SelectedIndexChanged, così qualsiasi cosa tu faccia con la combobox qui influirà sul risultato. Utilizza l'istruzione if nella parte superiore di Page_Load. – Stian

+0

grazie mille. ora posso ottenere il vero oggetto selezionato. –

5

provare questo:

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

Se l'articolo è un dizionario:

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