Erreur dans DropDownList avec ASP.NET
-
05-10-2019 - |
Question
J'ai un DropDownList appelé (LDD) à la page ASP.net, je veux que contient des enregistrements LDD d'une table dans la base de données.
Je l'ai fait:
DDL.DataSource = myDataReader
DDL.DataBind()
Mais il me donne (5 dossiers) « le nombre d'enregistrements de la table », mais comme ceci:
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
La solution
Vous devez définir DataTextField et DataValueField, sinon la liaison de données effectuera .ToString () sur chaque ligne et de le mettre comme point:
DDL.DataSource = myDataReader;
DDL.DataTextField = "[Text column name]";
DDL.DataValueField = "[Value column name]";
DDL.DataBind();
Autres conseils
vous devez définir le texte et les champs clés de la ddl avant que vous DataBind
DDL.DataTextField = "textColumn";
DDL.DataValueField = "textColumn":
Le code: ddl.datasource=reader
met tout le contenu présent dans le lecteur (tableau de colonnes de table) comme la principale source de données
Maintenant, comme le montrent les ddl
seulement une seule colonne si u besoin d'écrire un morceau de. le code qui indique ddl
que quelle colonne il doit afficher
vous écrirez. ddl.textfield=
« nom de colonne que vous voulez montrer »;
et le nom de ddl.valuefield="
column que vous voulez comme une référence pour passer à la base de données ";