2010-08-16 4 views
5

У меня есть 3 раскрывающихся списка (поле со списком) в среде asp.net. Все они являются необязательными, поэтому, если пользователь выбрал что-либо, я обновляю базу данных, если ничего не было выбрано вообще, я все еще обновляю базу данных с нулевыми значениями.проверить, были ли значения выбраны из раскрывающегося списка в C#

Я пытался сделать это:

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

Я надеялся, что если ничего не выбрано нуль будет вставлен в CountryId, но, вместо того, чтобы его бросать исключение.

Я пытался искать ddCountries.isSelected (или что-то в этом роде), но это, очевидно, оленья кожа есть ..

так, как я могу узнать, если выбор был сделан на раскрывающемся списке? - через код C#.

Большое спасибо

пс: у меня есть мысль - я положил каждый выпадающий список в Try ... Catch блока и, если возникает исключение, установить переменные обнулить вручную .. но я не уверен, то будет лучшим способ сделать это!

+0

я не хочу иметь требуемое поле валидатор, потому что выбор не является обязательным .... спасибо! – iamserious

ответ

8

Вы ищете

if(ddCountries.SelectedIndex > -1) 

Вы никогда не должны использовать исключения для управления потоком программы.

+0

Привет, я использовал сочетание вашего ответа и ниже (от LukasW с тройным оператором) и его работу сейчас. Кроме того, большое спасибо за информацию об использовании исключения для потока управляющей программы. – iamserious

+1

+1 для «Вы никогда не должны использовать исключения для управления потоком программы». Кажется, это не повторяется достаточно часто для некоторых. –

0

Если ComboBoxChannel.SelectedValue.ToString.ToLower = «system.data.datarowview» Then Exit Sub