将DropDownList绑定到对象集合中的集合

时间:2013-08-08 22:12:16

标签: c# asp.net

我正在尝试将Dropdownlist绑定到对象列表中包含的集合中的属性。

我有一个包含属性集合的对象,所以如果我有一个对象的单个实例,我可以这样调用属性:

MyObject.Properties["Title"].Value.ToString();

现在我有一个

List<MyObject>

我想将Properties [“Title”]。Value.ToString绑定到下拉列表中的DataValueField。

dropDownList.DataSource = List<MyObject>
dropDownList.DataValueField = "Title";
dropDownList.DataBind();

当然这不起作用,因为Title在Properties集合中并且不是对象的属性。

dropDownList.DataValueField = "Properties[\"Title\"]"

也不起作用,因为Properties [“Title”]也不是对象的属性。我尝试了其他一些变化而且没有任何运气。有没有办法做到这一点,或者我需要遍历对象,创建键值对的列表\字典并使用它。在我看来应该有办法做到这一点。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:3)

我只是使用Linq Select来设置匿名对象:

dropDownList.DataSource = myObjectList
    .Select(item => new { Title = item.Properties["Title"] })
    .ToList();
dropDownList.DataValueField = "Title";