我正在尝试使用SQL数据库中的数据填充下拉列表,但我失败了。代码似乎对我好,但拒绝工作。
SqlDataSource sql_Names = new SqlDataSource(WebConfigurationManager.ConnectionStrings[1].ConnectionString, "SELECT name FROM Names");
sql_Names.DataSourceMode = SqlDataSourceMode.DataReader;
ddl_names.DataSource = sql_Names;
ddl_names.DataBind();
数据库连接正常。它在下拉列表中创建了适当数量的条目(与DB中的行数相同),但是使用“System.Data.DataRecordInternal”(或“System.Data”)填充列表中每个元素的值。 DataRowView“如果模式设置为DataSet。”
请帮忙......
答案 0 :(得分:3)
您需要正确设置DataTextField和DataValueField
试
ddl_names.DataTextField = "name";
ddl_names.DataValueField = "name";
在数据绑定之前
答案 1 :(得分:1)
您需要设置ddl_names.DataTextField和ddl_names.DataValueField属性。所以你的最终代码应如下所示:
SqlDataSource sql_Names = new SqlDataSource(WebConfigurationManager.ConnectionStrings[1].ConnectionString, "SELECT name FROM Names");
sql_Names.DataSourceMode = SqlDataSourceMode.DataReader;
ddl_names.DataTextField = "name";
ddl_names.DataValueField = "name";
ddl_names.DataSource = sql_Names;
ddl_names.DataBind();