如何检查在C#中是否未选择ListBox的选定值?

时间:2010-06-14 00:20:15

标签: c# asp.net drop-down-menu validation

此代码将显示列表框中的选定值。例如。如果我选择第1项,我将得到以下输出:您已选择第1项

Label1.Text = "You have selected " + DropDownList1.SelectedValue + "<br />";

但如果我没有选择任何内容并点击“提交”按钮,我会得到:您已选择

我需要显示什么 “您没有选择任何内容。请选择至少1项。”

更新:我正在使用ASP.NET WebForms。

2 个答案:

答案 0 :(得分:5)

<强>更新
以下答案实际上是不正确的(留给历史记录)。访问SelectedIndex属性后,如果未选择任何内容,列表将立即选择第一个项目,并返回零。

所以剩下的唯一选择就是在列表中首先使用某种“虚拟项目”,并检查SelectedIndex == 0

然而,上述情况仅适用于DropDownList。来自ListControl(即ListBoxRadioButtonList)的其他控件将正确显示SelectedIndex == -1

这里的答案错误
检查SelectedIndex属性。如果未选择任何内容,则其值为-1。

if ( DropDownList1.SelectedIndex < 0 )
{
    Label1.Text = "You have not selected anything";
}
else
{
    Label1.Text = "You have selected " + DropDownList1.SelectedValue;
}

答案 1 :(得分:1)

小心!:

  

使用SelectedIndex属性   以编程方式指定或确定   来自的所选项目的索引   DropDownList控件。 项目是   始终在DropDownList中选择   控制即可。你无法清除   从列表中的每个项目中进行选择   在同一时间。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.dropdownlist.selectedindex.aspx