当我尝试使用GridView
将ASP.NET IEnumerable<ExpandoObject>
数据绑定到ObjectDataSource
时,我得到以下异常。
System.Web.HttpException(0x80004005):DataBinding:'System.Dynamic.ExpandoObject'不包含名为'StoreID'的属性。
任何人都知道如何将数据绑定到ExpandoObjects
?
答案 0 :(得分:6)
开源框架Impromptu-Interface可以做到这一点。它有一种通过传入属性名称 - >类型的字典来公开反射的动态对象属性的方法。
IEnumerable<dynamic> tProxiedObject = listOfExpandos.Select(x=>Impromptu.ActLikeProperties(x, x.ToDictionary(k=>k.Key,v=>typeof(object))));