Как проверить, не выбрано ли выбранное значение ListBox в C #? - PullRequest
0 голосов
/ 14 июня 2010

Этот код будет отображать выбранное значение из списка.Например, если я выберу Item 1 , я получу следующий вывод: Вы выбрали Item 1 .

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

Но если я ничего не выберу и не нажмуПри нажатии кнопки «Отправить» я получу: Вы выбрали

Что мне нужно, чтобы он отобразился "Вы ничего не выбрали. Пожалуйста, выберите хотя бы 1 элемент. "

ОБНОВЛЕНИЕ: Я использую веб-формы ASP.NET.

Ответы [ 2 ]

5 голосов
/ 14 июня 2010

Обновление:
Приведенный ниже ответ на самом деле неверен (оставлен для истории). После доступа к свойству 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;
}
1 голос
/ 14 июня 2010

Будьте осторожны!:

Используйте свойство SelectedIndex, чтобы программно указать или определить индекс выбранного элемента из элемента управления DropDownList. Элемент всегда выбирается в элементе управления DropDownList .Вы не можете отменить выбор для каждого элемента в списке одновременно.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...