2010-05-27 2 views
1

У меня есть имя DropDownList (DDL) на странице ASP.net, я хочу, чтобы DDL содержал некоторые записи таблицы в базе данных.Ошибка в DropDownList с использованием ASP.NET

Так что я сделал это:

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 

ответ

4

вы должны установить DataTextField и DataValueField, в противном Данные ISE связывания будут выполнять .ToString() на каждой строке и положить его в качестве пункта:

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

Большого спасибо –

0

вы должны установить текст и основные направления в DDL, прежде чем привязка

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

Как я могу сделать это –

+0

видеть свои правки, пожалуйста, – derek

0

Код: ddl.datasource=reader только установка текущего содержимого в считыватель (массив столбцов таблицы) в качестве основного источника данных ,
Теперь как ddl покажите только один столбец, поэтому вам нужно написать фрагмент кода, который сообщает ddl, какой колонке он должен отображаться.
Значит, вы напишете: ddl.textfield= "имя столбца, которое вы хотите показать"; и ddl.valuefield=" имени столбца, который вы хотите в качестве ссылки передать в базу данных ";

+0

Просто FYI, вы ответить годовалый вопрос с,. и ваш ответ дублирует принятый ответ. :) – Andomar

Смежные вопросы