Ошибка в DropDownlist с помощью ASP.NET
-
05-10-2019 - |
Вопрос
У меня есть DDDDOWLIST (DDL) в странице ASP.NET, я хочу, чтобы 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
Решение
Вы должны установить datatextfield и datavaluefield, в противном случае привязка данных будет выполнять .tostring () на каждую строку и положить его как элемент:
DDL.DataSource = myDataReader;
DDL.DataTextField = "[Text column name]";
DDL.DataValueField = "[Value column name]";
DDL.DataBind();
Другие советы
Вы должны установить текст и ключевые поля DDL, прежде чем Data Data
DDL.DataTextField = "textColumn";
DDL.DataValueField = "textColumn":
Код : ddl.datasource=reader
просто устанавливает содержимое, присутствующее в читателе (массив столбцов таблицы) в качестве основного источника данных.
Сейчас как ddl
показать только один столбец в нем, так что вам нужно написать кусок кода, который говорит ddl
то, какой столбец он должен отображать.
Так что вы напишите: ddl.textfield=
«Имя столбца, которое вы хотите показать»; а также ddl.valuefield="
Имя столбца, которое вы хотите в качестве ссылки на пропуск в базу данных »;