此代碼將顯示列表框中的選定值。例如。如果我選擇項目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