此代码将显示列表框中的选定值。例如。如果我选择项目1我将得到以下输出:您已选择项目1。如何检查C#中未选择列表框的选定值?
Label1.Text = "You have selected " + DropDownList1.SelectedValue + "<br />";
但是,如果我不选择任何内容,点击提交按钮,我会得到:您选择
我需要什么,使之显示“你没有选择任何东西。请至少选择1项。“
更新:我正在使用ASP.NET WebForms。
此代码将显示列表框中的选定值。例如。如果我选择项目1我将得到以下输出:您已选择项目1。如何检查C#中未选择列表框的选定值?
Label1.Text = "You have selected " + DropDownList1.SelectedValue + "<br />";
但是,如果我不选择任何内容,点击提交按钮,我会得到:您选择
我需要什么,使之显示“你没有选择任何东西。请至少选择1项。“
更新:我正在使用ASP.NET WebForms。
更新:
下面的答案实际上是不正确(留给历史)。一旦您访问SelectedIndex
属性,当没有选择任何内容时,列表将立即使第一个项目被选中,并返回零。
几乎所有的选择都是在列表中首先出现某种“虚拟物品”,然后检查SelectedIndex == 0
。
但是,上述情况仅适用于DropDownList
。来自ListControl
(即ListBox
或RadioButtonList
)的其他控件将正确显示SelectedIndex == -1
。
这里去了不正确的答案:
检查SelectedIndex
财产。如果没有选择,它将具有-1的值。
if (DropDownList1.SelectedIndex < 0)
{
Label1.Text = "You have not selected anything";
}
else
{
Label1.Text = "You have selected " + DropDownList1.SelectedValue;
}
哦,你走了。所以它必须小于0.我已经尝试了0,并且为null,但它不起作用。谢谢! – 2010-06-14 00:25:12
@Sahat:这个答案实际上是不正确的,因为我刚刚通过查看Reflector找到了答案。请参阅我的更新以获取正确答案。 – 2010-06-14 00:32:50
我明白你的意思是Fyodor,但它可以在第一次发布的代码中使用。它表明你没有选择任何东西,就像我想要的那样。也许这是ASP.NET 4.0的新功能? – 2010-06-14 00:38:15
要当心!:
使用SelectedIndex属性以编程方式 从 DropDownList控件指定或确定 所选项目的索引。 一个项目是 总是在DropDownList中选择 控件。您无法同时清除列表 中每个项目的 选择。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.dropdownlist.selectedindex.aspx
...的WebForms或的WinForms? – 2010-06-14 00:23:21
@Nick:最后用'
'来判断,我会说WebForms。但同意,OP应该对此更加具体。 – 2010-06-14 00:24:27
@Fyodor - Doh,好点,甚至没有看到那里的结局。 – 2010-06-14 00:25:39