我试图将一组匿名类型传递给 Razor 视图引擎,这些匿名类型本身就是一组类型。
我正在使用以下扩展将动态对象传递给视图。
public static ExpandoObject ToExpando(this object anonymousObject)
{
IDictionary<string, object> anonymousDictionary = new RouteValueDictionary(anonymousObject);
IDictionary<string, object> expando = new ExpandoObject();
foreach (var item in anonymousDictionary)
expando.Add(item);
return (ExpandoObject)expando;
}
它适用于简单的匿名对象,例如:
mylinqstatement.Select(x => new { foo = x.f, bar = x.b }.ToExpando());
但是,我未能成功传递更复杂的类型,例如:
mylinqstatement.GroupBy(y => y.foo).Select(x =>
new { foo = x.key, bar = x.Select(y => y.b) }.ToExpando());
我已经多次尝试重写梯形图语句(我展示了最简单的),但我想要的属性(yb 的值)在视图中永远无法访问。
任何帮助,将不胜感激。