2010-03-29 2 views
0

У меня есть раскрывающийся список, из которого пользователь делает выбор. Однако я не могу получить значение SelectedItem в коде позади.Получение значения выбранного DropDownList

Как я могу получить значение, выбранное в коде?

 if (ddlRegion.SelectedValue = "0") 
     { 
      Response.Write("<script>window.alert('Please select a region')</script>"); 
      txtEmpID.Text = ""; 
      return; 
     } 
+0

Что вы подразумеваете под «в коде позади»? На этапе проектирования вы не можете его увидеть? Это когда вы выполняете 'post' и хотите поймать его на стороне сервера? Это когда вы отправляете его через AJAX или находится в коде Javascript? – Chau

+0

Его C# codebehind; – user279521

ответ

0

Похоже, вы пытаетесь сравнить с 0, вы пытаетесь проверить, если DropDownList находится в состоянии по умолчанию (который является первым значением)? Если это так, SelectedIndex - это свойство, которое вы хотите, и вы хотите сравнить с целым литералом 0, а не с строкой "0". Кроме того, вероятно, это ошибка копирования/вставки, поскольку она не компилируется как есть, но вы хотите сравнить равенство с ==, а не выполнять задание с =.

0

попробовать SelectedValue свойство DropDownList вместо SelectedItem

+0

Я использую SelectedValue, но не повезло; – user279521

+0

Я не знаю, почему, но для общих параметров, таких как «Выбрать что-то», я использую значение «-1», а не «0». – sanjuro

+0

«-1» тоже не работает; – user279521

0

(SelectedValue из MSDN) Это свойство возвращает свойство Value выбранного ListItem. Свойство SelectedValue обычно используется для определения значения выбранного элемента в элементе управления списком. Если выбрано значение , возвращается значение выбранного элемента с самым низким индексом . Если ни один элемент не выбран , пустая строка ("") возвращает .

Я хотел бы получить ответ «Tanzelax», но, тем не менее, вы сравниваете его с «0», а документация Microsoft говорит вам сравнить с пустой строкой.

Смежные вопросы