質問

ASP.NETページに(DDL)というドロップダウンリストがあります。DDLにデータベースにテーブルのレコードが含まれていることを望んでいます。

だから私はこれをしました:

DDL.DataSource = myDataReader

DDL.DataBind()

しかし、それは私に「テーブルの記録の数」を与えていますが、このようなもの:

System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
役に立ちましたか?

解決

DatateXtfieldとdatavaluefieldを設定する必要があります。そうしないと、データバインディングはすべての行で.toString()を実行し、アイテムとして実行します。

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

他のヒント

データビンドの前に、DDLのテキストとキーフィールドを設定する必要があります

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

コード : ddl.datasource=reader データの主なソースとして、読者(テーブルの列の配列)に存在するコンテンツを設定するだけです。
今、 ddl その中に1つの列のみを表示するので、あなたは伝えるコードを書く必要があります ddl どの列を表示しなければならないか。
だからあなたは書くでしょう: ddl.textfield=「表示したい列名」;と ddl.valuefield="データベースに渡すための参照として必要な列名 ";

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top