SqlDataSource拒绝合作

时间:2011-01-07 20:23:49

标签: .net asp.net sql data-binding datasource

我正在尝试使用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。”

请帮忙......

2 个答案:

答案 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();