2008-09-30 4 views
1

Я использую страницу codebehind в ASP.NET для выполнения SQL-запроса. Запрос загружается в строку, соединение установлено (для Oracle), и мы начинаем с того, что соединение выполняется .ExecuteReader в OleDBDataReader (мы будем называть его DataRead). Я попробую привести пример ниже. (Рассмотрим падение, как элемент управления ASP DropDownList)Элементы управления выпадающим списком в ASP.NET 2.0

Dim LookFor as String = "Fuzzy Bunnies" 

While DataRead.Read 
    If LookFor = DataRead.Item("Kinds of Bunnies") Then 
     'Meets special critera, do secondary function' 

     Drop.Items.Add(DataRead.Item("Subgroup of Bunnies")) 
     ... 
    End if 
    ... 
End While 

Это единственный способ, которым я знаю, делать динамическую добавить DropDownList. Однако каждый элемент в DropDownList имеет свойство .text и свойство .value. Как мы можем определить значение как отличающееся от .text в коде?

ответ

6

Add функция может принимать ListItem, так что вы можете сделать

Dim li as new ListItem(DataRead.Item("Subgroup of Bunnies"), "myValue") 
Drop.Items.Add(li) 
+0

Спустя несколько лет, я снова нашел это полезным. Спасибо. – Maximillian 2014-01-22 18:57:48

1

пардон, возможно, неисправен VB

Dim item as New ListItem() 
item.Value = "foo" 
item.Text = "bar" 

Drop.Items.Add(item) 

Вы можете также использовать конструктор ListItem (например, новый ListItem («текст», «значение»))

3

Добавить должен иметь перегрузку, которая принимает ListItem объект. Пользуясь тем, что, как правило, можно сделать что-то вроде этого:


Drop.Items.Add(New ListItem("Text", "Value")) 
+0

Вы сказали, что в значительной степени то же самое, как и я, за исключением примерно на 30 секунд раньше. Upvoted :) – Grank 2008-09-30 16:21:58

0

вы бы выбрать второй столбец в вашем DataReader (например, Тождество поле), а затем присвоить сделать свое поколение товара, как это:

Dim item as new listitem 
item.text = DataRead.Item("SubGroup Of Bunnies") 
item.value = DataRead.Item("ID") 
Drop.Items.Add(item) 

Вы также можете заглянуть в функциональности DataBind, и отфильтровывать «НЕЧЕТКОЙ BUNN IES "в самом выражении SQL.

3

Если я правильно понял вопрос, items.Add имеет перегрузку, которая принимает ListItem, так что вы можете создать новый объект ListItem в этой строке:

Drop.Items.Add(new ListItem("text", "value")) 
+0

Несколько человек избили меня до этого ответа – Grank 2008-09-30 16:17:22

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

  • Нет связанных вопросов^_^