1

我在 ASP.net 页面中有一个名为 (DDL) 的 DropDownList,我希望 DDL 包含数据库中某个表的一些记录。

所以我这样做了:

DDL.DataSource = myDataReader

DDL.DataBind()

但它给了我(5条记录)“表的记录数”,但像这样:

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

3 回答 3

4

您应该设置 DataTextField 和 DataValueField,否则数据绑定将在每一行上执行 .ToString() 并将其作为项目:

DDL.DataSource = myDataReader;
DDL.DataTextField = "[Text column name]";
DDL.DataValueField = "[Value column name]";
DDL.DataBind();
于 2010-05-27T13:23:06.933 回答
0

您必须在数据绑定之前设置 ddl 的文本和关键字段

DDL.DataTextField = "textColumn";
DDL.DataValueField = "textColumn":
于 2010-05-27T13:21:00.660 回答
0

代码:ddl.datasource=reader只是将阅读器中存在的内容(表的列数组)设置为主要数据源。
现在ddl只显示一个列,所以你需要编写一段代码来告诉ddl它必须显示哪一列。
所以你会写: ddl.textfield=“你想显示的列名”;以及 ddl.valuefield="您希望作为参考传递给数据库的列名”;

于 2011-03-02T15:36:29.527 回答