Предполагая, что у вас есть реализация IList, к которой вы привязываете объекты данных (вы, кажется, уже материализовали результаты в что-то , как вы говорите, вы можете заполнить текст), что вам нужно Для этого нужно указать имя свойства / члена в ваших экземплярах, возвращенных из реализации IList.
Итак, предполагая, что у вас есть DataTable со столбцами ID и Value или IList объектов, которые были заполнены из LINQ-to-SQL / Entities, каждый со свойством ID и свойством Value, вы должны сделать это:
DropDownList1.DataValueField = "ID"
DropDownList1.DataTextField = "Value"
Вам необходимо установить его в имена полей, а не в значения , поскольку механизм привязки использует структуру дескриптора свойства, чтобы выяснить, как сопоставить эти строки со свойствами / столбцами, которые содержат данные.