我正在尝试将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”]也不是对象的属性。我尝试了其他一些变化而且没有任何运气。有没有办法做到这一点,或者我需要遍历对象,创建键值对的列表\字典并使用它。在我看来应该有办法做到这一点。任何帮助表示赞赏
答案 0 :(得分:3)
我只是使用Linq Select来设置匿名对象:
dropDownList.DataSource = myObjectList
.Select(item => new { Title = item.Properties["Title"] })
.ToList();
dropDownList.DataValueField = "Title";