Question

J'utilise une page codeback dans ASP.NET pour effectuer une requête SQL. La requête est chargée dans une chaîne, la connexion est établie (à Oracle), et nous la démarrons en faisant exécuter la connexion .ExecuteReader dans un OleDBDataReader (nous l'appellerons DataRead). Je vais essayer de vous donner un exemple ci-dessous. (Envisagez Drop en tant que contrôle 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

C’est le seul moyen que je connaisse de faire une addition dynamique à une DropDownList. Cependant, chaque élément de DropDownList a une propriété .text et une propriété .value. Comment pouvons-nous définir la valeur. Différente du .text dans le code?

Était-ce utile?

La solution

Le Ajouter La fonction peut utiliser un ListItem . afin que vous puissiez faire

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

Autres conseils

Ajouter devrait avoir une surcharge qui accepte un objet ListItem. En utilisant cela, vous pouvez généralement faire quelque chose comme ceci:


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

Si je comprends bien la question, Items.Add a une surcharge qui prend un ListItem. Vous pouvez donc créer un nouvel objet ListItem dans cette ligne:

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

Pardonnez mon VB éventuellement défectueux

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

Drop.Items.Add(item)

Vous pouvez également utiliser le constructeur ListItem (par exemple, un nouveau ListItem ("texte", "valeur"))

vous sélectionneriez une deuxième colonne dans votre datareader (comme un champ IDENTITY), puis assigneriez votre génération d'élément comme suit:

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

Vous pouvez également consulter la fonctionnalité DATABIND et filtrer "FUZZY BUNNIES". dans l'instruction SQL elle-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top