从动态媒体节点获取子列表

时间:2012-02-16 20:37:51

标签: razor umbraco

所以我试图通过从媒体部分获取文件夹中的所有图像来创建照片库。使用Umbraco 4.7.0我曾经能够在Razor中做到这一点。

DynamicMediaList images = new DynamicMediaList(new DynamicMedia(galleryImage).Children.Items);

我升级到4.7.1.1现在我收到错误'umbraco.MacroEngines.DynamicMedia'不包含'Children'的定义,也没有扩展方法'Children'接受'umbraco.MacroEngines.DynamicMedia'类型的第一个参数'可以找到(你错过了使用指令或汇编引用吗?)

做了一些谷歌搜索并找到了ChildrenAsList,但我似乎无法将其转换为我得到的消息无法将类型'System.Collections.Generic.List'隐式转换为'System.Collections.Generic.List'

List<DynamicMedia> images = new DynamicMedia(galleryImage).ChildrenAsList;

有关如何使其发挥作用的任何想法?

1 个答案:

答案 0 :(得分:1)

此处的问题不是System.Collections.Generic.List对象。它是内部的通用类型。我会试试

var images = new DynamicMedia(galleryImage).ChildrenAsList; 

这是使用.NET 3.5和4实例化对象的优先方式,因为使用dynamic和var数据类型可以让开发人员摆脱像这样的不平衡方程式的关注。

只有当我在左边使用var以外的任何东西时,才会看到最终类型,我知道它会是什么。

顺便说一句,您可能会将List分配给images字段。

希望这有帮助。