2010-05-27 84 views
1

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

所以我这样做:

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

您应该设置DataTextField和DataValueField,otherw ISE数据绑定将在每一行执行的ToString(),并把它作为产品:

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

非常感谢您 – 2010-05-27 13:33:25

0

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

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

我如何能做到这一点 – 2010-05-27 13:21:40

+0

看到我的编辑请 – derek 2010-05-27 13:24:34

0

的代码:ddl.datasource=reader只是设定存在于读取器(表中的列的阵列)的含量作为数据的主要来源。
现在作为ddl只显示一列,所以你需要编写一段代码告诉ddl它必须显示哪一列。
所以你会写:ddl.textfield=“你想要显示的列名”;要作为引用传递到数据库“ 和ddl.valuefield="列名;

+0

仅供参考,你回答岁的问题。你的答案重复了接受的答案。:) – Andomar 2011-03-03 06:37:07