【发布时间】:2014-08-04 13:19:07
【问题描述】:
我正在尝试使用基于另一个下拉列表的选择的查询数据填充下拉列表。我的第一个查询使用以下代码返回一个 ID 列表:
Dim selectQuery = (From train In trainerEntities.TrainerTrainingCompanies
Where train.TrainingCompanyID = trainingCompany.ID
Select train.TrainerID).ToList()
然后我创建一个数组列表和第二个查询
Dim trainers As New ArrayList
For Each trainerID In selectQuery
Dim selectQuery2 = (From pers In trainerEntities.Persons
Where pers.Person_ID = trainerID
Select pers.Person_ID, pers.Last_Name).ToList()
trainers.Add(selectQuery2)
Next
最后我使用arraylist作为数据源并绑定数据
TrainerDropDownList.DataSource = trainers
TrainerDropDownList.DataBind()
列表填充,但没有任何数据。它看起来像这样:
System.Collections.Gerneric.List'1[VB$AnonymousType_0'2[System.Int32,System.String]]
在调试和查看数组列表时,我会看到适当数量的项目以及每个特定项目中的适当信息。从上面查看列表填充的内容,我确定 Int32 值是 Person_ID 以及我想要用于下拉列表值字段的内容,而字符串值是 Last_Name 以及我想要用于下拉列表文本字段的内容。
使用:
dropdownlist.DataTextField("Last_Name")
dropdownlist.DataValueField("Person_ID")
在数据绑定上产生和错误。
does not contain a property with the name 'trainers.Last_Name'
如何正确使用此数组列表作为下拉列表的数据源
【问题讨论】: