使用ASP.NET的DropDownList出错

时间:2010-05-27 13:13:18

标签: asp.net datareader system.data

我在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

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

你需要在数据绑定之前设置ddl的文本和关键字段

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

答案 2 :(得分:0)

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