Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查是否已从c中的下拉列表中选择a值#_C#_Selecteditem_Dropdownbox - Fatal编程技术网

C# 检查是否已从c中的下拉列表中选择a值#

C# 检查是否已从c中的下拉列表中选择a值#,c#,selecteditem,dropdownbox,C#,Selecteditem,Dropdownbox,我在asp.net环境中有3个下拉框(组合框)。 它们都是可选的,所以如果用户选择了任何内容,我将更新数据库,如果根本没有选择任何内容,我仍将使用空值更新数据库 我试着这样做: int? CountryId = Convert.ToInt32(ddCountries.SelectedItem.Value); 我希望,如果未选择任何内容,则会在CountryId中插入null,但它会引发异常 我试图搜索ddCountries.isSelected(或类似的东西),但它显然不存在 那么,如何确定

我在asp.net环境中有3个下拉框(组合框)。 它们都是可选的,所以如果用户选择了任何内容,我将更新数据库,如果根本没有选择任何内容,我仍将使用空值更新数据库

我试着这样做:

 int? CountryId = Convert.ToInt32(ddCountries.SelectedItem.Value);
我希望,如果未选择任何内容,则会在CountryId中插入null,但它会引发异常

我试图搜索ddCountries.isSelected(或类似的东西),但它显然不存在

那么,如何确定是否在下拉框中进行了选择通过c代码

非常感谢

附言:我有一个想法-我把每个下拉框在一个尝试。。。catch块,如果出现异常,则手动将变量设置为null。。但我不确定这是最好的方法

你在找什么

if(ddCountries.SelectedIndex > -1)
您不应该使用异常来控制程序流。

您可以使用以下方法:

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

请注意,它在VB.Net中

我不希望有必需的字段验证器,因为选择是可选的。。。。谢谢为什么不使用
int.TryParse()
?如果无法将输入转换为整数,则返回false。您好,我使用了您的答案和下面的答案(来自LukasW和三元运算符)的混合,现在可以使用了。另外,非常感谢您提供有关使用异常控制程序流的信息。+1感谢“您永远不应该使用异常控制程序流。”。对某些人来说,这似乎不太常见。问题是与
c#
相关的,而不是
vb.net
。你应该考虑把代码翻译成<代码> C<<代码>,这很简单。它类似于
if(ComboBoxChannel.SelectedValue.ToString().ToLower()=“system.data.datarowview”)返回