我收到以下错误:
“object”不包含“RatingName”的定义
当您查看匿名动态类型时,它显然具有RatingName。
我意识到我可以使用元组来做到这一点,但我想了解为什么会出现错误消息。
在我看来,具有内部属性的匿名类型是一个糟糕的 .NET 框架设计决策。
这是一个快速且不错的扩展解决这个问题,即立即将匿名对象转换为 ExpandoObject。
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;
}
这是很easy to use:
return View("ViewName", someLinq.Select(new { x=1, y=2}.ToExpando());
当然在你看来:
@foreach (var item in Model) {
<div>x = @item.x, y = @item.y</div>
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)