SqlDataSource отказывается сотрудничать - PullRequest
1 голос
/ 07 января 2011

Я пытаюсь заполнить выпадающий список данными из базы данных 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();

Соединение с базой данных работает. Он создает правильное количество записей (такое же, как количество строк в БД) в раскрывающемся списке, но содержит значения, которые он заполняет для каждого элемента списка «System.Data.DataRecordInternal» (или «System.Data». DataRowView ", если установлен режим DataSet).

Пожалуйста, помогите ...

Ответы [ 2 ]

3 голосов
/ 07 января 2011

Вам необходимо установить DataTextField и DataValueFields соответственно

try

ddl_names.DataTextField = "name";
ddl_names.DataValueField = "name";

перед привязкой данных

1 голос
/ 07 января 2011

вам нужно установить свойства 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();
...