Элементы управления раскрывающимся списком в ASP.NET 2.0 - PullRequest
1 голос
/ 30 сентября 2008

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

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. Как мы можем определить .value как отличающийся от .text в коде?

Ответы [ 5 ]

6 голосов
/ 30 сентября 2008

Функция Добавить может принимать ListItem , поэтому вы можете сделать

Dim li as new ListItem(DataRead.Item("Subgroup of Bunnies"), "myValue")
Drop.Items.Add(li)
3 голосов
/ 30 сентября 2008

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

Drop.Items.Add(new ListItem("text", "value"))
3 голосов
/ 30 сентября 2008

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


Drop.Items.Add(New ListItem("Text", "Value"))
1 голос
/ 30 сентября 2008

Прошу прощения за мой возможно неисправный VB

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

Drop.Items.Add(item)

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

0 голосов
/ 30 сентября 2008

вы выберете второй столбец в вашем хранилище данных (например, поле IDENTITY), а затем назначите сделать генерацию вашего элемента следующим образом:

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

Возможно, вы также захотите взглянуть на функциональность DATABIND и отфильтровывать «НЕЧЕТКИЕ ЗАНЯТИЯ» в самом операторе SQL.

...