Domanda

Ho 3 caselle a discesa (casella combinata) in ambiente asp.net. Sono tutti opzionali, quindi se un utente ha selezionato nulla, sto aggiornamento del database, se non è stata selezionata a tutti, sto ancora aggiornamento database con valori nulli.

Ho provato a fare questo:

 int? CountryId = Convert.ToInt32(ddCountries.SelectedItem.Value);

speravo che nullo se non è selezionato sarà inserito nel CountryId, ma, invece la sua un'eccezione.

Ho provato a cercare ddCountries.isSelected (o qualcosa del genere), ma esistono ovviamente pretende molto ..

Quindi, come faccio a sapere se una selezione è stata fatta su una casella a discesa? -. Attraverso c # codice

Molte grazie

ps: ho un pensiero - ho messo ogni casella a discesa in un blocco try ... catch e se si pone eccezione, variabili impostato su null manualmente .. ma non sono sicuro questo è il modo migliore per farlo

È stato utile?

Soluzione

Siete alla ricerca di

if(ddCountries.SelectedIndex > -1)

Si dovrebbe mai essere utilizzando eccezioni a flusso del programma di controllo.

Altri suggerimenti

Se ComboBoxChannel.SelectedValue.ToString.ToLower = "system.data.datarowview" Allora Exit Sub

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top