2016-07-29 2 views
0

DropDownList элемент управления возвращает неправильный элемент.DropDownList Неправильный SelectedIndex

Мой код выполняет определенное действие с помощью SelectedItem, когда DropDownList.SelectedValue = -1.

При тестировании кода я выбираю пункт A по адресу index = 2. Полученный результат DropDownList.SelectedItem = "A". До сих пор хорошо.

Но я выбираю пункт B по адресу index = 3. Полученный результат DropDownList.SelectedItem = "A". Согласно отладчику, DropDownList.SelectedIndex = 2 в обоих случаях.

Что приводит к тому, что SelectedIndex всегда принимает одно и то же значение?

Примечание: Когда я выбираю пункты C через Z, они возвращают собственно SelectedText и SelectedIndex.

if(Int32.Parse(dropdown.SelectedValue).Equals(-1)) 
{ 
    // Do something with the selected item 
    DoThis(dropdown.SelectedItem.ToString()); 
} 
+0

Это должно быть 'dropdown.SelectedIndex == -1' – Rahul

+1

Давайте посмотрим, что вы делаете в Page_Load(). –

+0

@RickS Page_Load() не должен иметь большого значения. DoThis() сохраняет значение моей БД, поэтому значение должно быть ОК. Значение обоих элементов одинаково. Но индекс возвращается как то же самое. –

ответ

2

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

+1

Чтобы исправить это, я установил уникальный идентификатор для каждого элемента, например: http://stackoverflow.com/q/20044730/5144249 –

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