'check if a values has been selected from dropdown in c#

I have 3 dropdown boxes (combo box) in asp.net environment. They are all optional, so if a user has selected anything, i am updating database, if nothing has been selected at all, i am still updating database with null values.

I tried to do this:

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

I was hoping that if nothing is selected null will be inserted in CountryId, but, instead its throwing an exception.

I tried to search for ddCountries.isSelected (or something like that) but it obviously doesnt exist..

so how do I find out if a selection has been made on a dropdown box? - through c# code.

Many Thanks

ps: I have a thought - i put each dropdown box in a try... catch block and if exception arises, set variables to null manually.. but I am not sure thats the best way to do it!



Solution 1:[1]

You're looking for

if(ddCountries.SelectedIndex > -1)

You should never be using exceptions to control program flow.

Solution 2:[2]

ddCountries.SelectedIndex > 0;

This worked for me, assuming that you have an empty item on index 0 that you have inserted.

ddCountries.Items.Insert(0, new ListItem(string.Empty, string.Empty));

ddCountries.SelectedIndex = 0;

Solution 3:[3]

You can use this:

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

Please note that it is in VB.Net

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jamiec
Solution 2 Nawed Nabi Zada
Solution 3 noobprogrammer