使用 ASP.NET 的 DropDownList 中的错误
Posted
技术标签:
【中文标题】使用 ASP.NET 的 DropDownList 中的错误【英文标题】:Error in DropDownList using ASP.NET 【发布时间】:2010-05-27 13:13:17 【问题描述】:我在 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
【问题讨论】:
【参考方案1】:你应该设置DataTextField和DataValueField,否则数据绑定会在每一行上执行.ToString()并把它作为item:
DDL.DataSource = myDataReader;
DDL.DataTextField = "[Text column name]";
DDL.DataValueField = "[Value column name]";
DDL.DataBind();
【讨论】:
【参考方案2】:你必须在数据绑定之前设置 ddl 的文本和关键字段
DDL.DataTextField = "textColumn";
DDL.DataValueField = "textColumn":
【讨论】:
【参考方案3】:代码:ddl.datasource=reader
只是将阅读器中存在的内容(表的列数组)设置为主要数据源。现在ddl
仅显示其中的一列,因此您需要写一段代码告诉ddl
它必须显示哪一列。所以你会写:ddl.textfield=
"你想显示的列名";
和 ddl.valuefield="
column 名称,您希望将其作为参考传递给数据库”;
【讨论】:
仅供参考,您正在回答一个有一年历史的问题,并且您的答案与已接受的答案重复。 :)以上是关于使用 ASP.NET 的 DropDownList 中的错误的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 使用视图中的值填充 DropDownList
用于下拉显示数据的 asp.net dropdownlist mouseover 事件