将linq数据绑定到下拉列表

时间:2015-08-31 14:49:41

标签: c# linq entity-framework

我知道之前已经问过这个问题,但我错过了将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();

2 个答案:

答案 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,即根本不指定!