2010-08-16 13 views
5

Tengo 3 cuadros desplegables (cuadro combinado) en el entorno asp.net. Todos son opcionales, por lo que si un usuario ha seleccionado algo, estoy actualizando la base de datos, si no se ha seleccionado nada, todavía estoy actualizando la base de datos con valores nulos.compruebe si se ha seleccionado un valor del menú desplegable en C#

he tratado de hacer esto:

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

Yo esperaba que un valor nulo si no hay nada seleccionado se insertará en CountryId, pero, en lugar de su lanzar una excepción.

Me trataron de buscar ddCountries.isSelected (o algo así) pero es evidente que no existe! ..

así que ¿cómo puedo saber si una selección ha sido realizada en un cuadro desplegable? - a través del código C#.

Muchas Gracias

PS: Tengo una idea - i poner cada cuadro desplegable en un bloque try ... catch y si surge una excepción, establecer variables para anular manualmente .. pero no estoy seguro de que esa es la mejor forma de hacerlo!

+0

no quiero tener validador de campo requerida porque la selección es opcional .... gracias! – iamserious

Respuesta

8

estás buscando

if(ddCountries.SelectedIndex > -1) 

Nunca se debe utilizar excepciones para controlar el flujo del programa.

+0

Hola, usé una combinación de tu respuesta y la de abajo (de LukasW con operador ternario) y está funcionando ahora. Además, muchas gracias por la información sobre el uso de la excepción para controlar el flujo del programa. – iamserious

+1

+1 para "Nunca debe usar excepciones para controlar el flujo del programa". Esto parece no repetirse con la suficiente frecuencia para algunos. –

0

Si ComboBoxChannel.SelectedValue.ToString.ToLower = "system.data.datarowview" Then Exit Sub

Cuestiones relacionadas