2010-05-27 8 views
1

J'ai un DropDownList appelé (DDL) dans la page ASP.net, je veux que DDL contienne des enregistrements d'une table dans la base de données.Erreur dans DropDownList utilisant ASP.NET

donc je l'ai fait:

DDL.DataSource = myDataReader 

DDL.DataBind() 

Mais il me donne (5 dossiers) "le nombre d'enregistrements de la table", mais comme celui-ci:

System.Data.Common.DataRecordInternel 
System.Data.Common.DataRecordInternel 
System.Data.Common.DataRecordInternel 
System.Data.Common.DataRecordInternel 
System.Data.Common.DataRecordInternel 

Répondre

4

vous devez définir DataTextField et DataValueField, autre- les données ise de liaison effectuera .ToString() sur chaque ligne et de le mettre comme objet:

DDL.DataSource = myDataReader; 
DDL.DataTextField = "[Text column name]"; 
DDL.DataValueField = "[Value column name]"; 
DDL.DataBind(); 
+0

Merci beaucoup –

0

vous devez définir le texte et les domaines clés de la ddl avant Databind

DDL.DataTextField = "textColumn"; 
DDL.DataValueField = "textColumn": 
+0

Comment puis-je faire ce –

+0

voir mes modifications Veuillez – derek

0

Le code: ddl.datasource=reader est la mise juste le contenu présent dans le lecteur (tableau de colonnes de tableau) comme la principale source de données .
Maintenant que ddl ne montre qu'une seule colonne, vous devez écrire un morceau de code qui indique à ddl quelle colonne il doit afficher.
Donc, vous allez écrire: ddl.textfield= "nom de colonne que vous voulez montrer"; et ddl.valuefield=" nom de colonne que vous voulez comme une référence pour passer à la base de données ",

+0

Juste Pour votre information, vous répondez à une question ans,. et votre réponse duplique la réponse acceptée. – Andomar