我知道之前已经问过这个问题,但我错过了将LINQ查询数据绑定到下拉列表中的步骤。
错误在于它找不到主题。
var querydd = from b in com.Communications
select b.subject;
notesdd = new DropDownList();
notesdd.ID = "notesdd" + i.ToString(); //Subject line
notesdd.DataSource = querydd;
notesdd.DataTextField = "subject";
notesdd.DataBind();
答案 0 :(得分:1)
您的linq查询只创建字符串集合,而不是具有属性“subject”的对象。所以你应该做的就是直接将这个列表绑定到下拉列表:
notesdd = new DropDownList();
notesdd.DataSource = querydd.ToList();
notesdd.DataBind();
答案 1 :(得分:0)
绑定到notesdd
的数据确实 - 正如错误告诉您 - 不包含名称为subject
的属性。为什么呢?
虽然from b in com.Communications select b
会返回包含subject
- 属性的对象集合,但您只是从对象中明确选择该属性!这会生成<whatever type subject has>
列表。
因此,请将您的查询更改为我上面提到的查询或更改您的DataValueField
,即根本不指定!