0

我正在尝试将 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"] 也不是对象的属性。我尝试了其他几种变体,但没有任何运气。有没有办法做到这一点,或者我需要遍历对象,制作键值对的列表\字典并使用它。在我看来,应该有办法做到这一点。任何帮助表示赞赏

4

1 回答 1

3

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

dropDownList.DataSource = myObjectList
    .Select(item => new { Title = item.Properties["Title"] })
    .ToList();
dropDownList.DataValueField = "Title";
于 2013-08-08T22:37:49.760 回答