如何将gridview数据绑定到ExpandoObject

Eti*_*neT 8 c# dynamic expando

当我尝试将ASP.NET数据绑定GridViewIEnumerable<ExpandoObject>使用时ObjectDataSource,我得到以下异常.

System.Web.HttpException(0x80004005):DataBinding:'System.Dynamic.ExpandoObject'不包含名为'StoreID'的属性.

有谁知道我怎么能数据绑定到ExpandoObjects

jbt*_*ule 6

开源框架Impromptu-Interface可以做到这一点.它有一个通过传入属性名称 - >类型的字典来公开反射的动态对象属性的方法.

IEnumerable<dynamic> tProxiedObject = listOfExpandos.Select(x=>Impromptu.ActLikeProperties(x, x.ToDictionary(k=>k.Key,v=>typeof(object))));
Run Code Online (Sandbox Code Playgroud)

  • @OrPaz:您可以尝试ImpromptuInterface.MVVM https://www.nuget.org/packages/ImpromptuInterface.MVVM/4.0.13 (2认同)