图像仅在过滤后填充

时间:2014-06-10 09:01:47

标签: c# .net sitefinity

我正在开发一个包含自定义内容类型的网站。我使用模块构建器(最新的Sitefinity)创建了内容类型。

所有自定义内容类型都包含图片。创建项目后,我可以在后端看到图像。当我用

查询项目时
var dynamicModuleManager = DynamicModuleManager.GetManager(PROVIDER_NAME);
var editionType = TypeResolutionService.ResolveType(TYPE_NAME);
IQueryable<DynamicContent> allEditions = dynamicModuleManager.GetDataItems(editionType);

获取图像:

allEditions.First().DynamicContent.GetValue("Images");

返回值是一个空列表。我还尝试将它们转换为ContentLink [],如提到的herehere,但这会引发异常。什么有效是对ICollection的转换或调用GetRelatedItems(&#34; Images&#34;)方法但是枚举是空的。

在其中一种内容类型中,有一个Address类型的字段。用以下内容过滤这些项目后

((IGeoLocationManager)dynamicModuleManager).FilterByGeoLocation

图片字段不再为空。

在其他内容类型中,我没有此选项。有人能帮助我吗?

祝你好运, 大卫

1 个答案:

答案 0 :(得分:0)

虽然不是我的问题的真正答案,但使用

DynamicContent editionItem = dynamicModuleManager.GetDataItem(editionType, id);

图片已填充,以便我可以遍历allEditions中的所有项目并通过调用dynamicModuleManager.GetDataItem(editionType, id)再次获取每个项目