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