<p>I am using a codebehind page in ASP.NET to perform a SQL query.  The query is loaded into a string, the connection is established (To Oracle), and we get it started by having the connection perform .ExecuteReader into a OleDBDataReader (We'll call it DataRead).  I'll try to hammer out an example below.  (Consider Drop as an ASP DropDownList control)</p>

<pre><code>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
</code></pre>

<p>This is the only way I know of doing a dynamic add to a DropDownList.  However, each item in a DropDownList has a .text property and a .value property.  How can we define the .value as being different from the .text in code?</p>

Pardon my possibly faulty VB
```
```
Dim item as New ListItem()
item.Value = "foo"
item.Text = "bar"

Drop.Items.Add(item)
```
```
You can also use the ListItem constructor (e.g. new ListItem("text", "value"))