Umbraco更改多媒体选择器的类型列表<img/>

时间:2016-09-29 06:15:25

标签: umbraco umbraco7

我向我的umbraco DataType添加了多个数据选择器(原型之一)

我想在我的模型中将类型从逗号更改为List<Image>

我找到了这段代码:

var list= item.HasValue("media") ?
 item.GetValue<List<PublishedContentExtended>>("media").OfType<Umbraco.Web.PublishedContentModels.Image>().ToList() 
: new List<Image>();

但是当我尝试将此代码添加到我的项目中时出现错误

'System.Collections.Generic.List<Umbraco.Core.Models.PublishedContent.PublishedContentExtended>' does not contain a definition for 'OfType' and the best extension method overload 'Umbraco.Web.PublishedContentExtensions.OfType<T>(Umbraco.Core.Models.IPublishedContent)' has some invalid arguments 

enter image description here

这是我的图像类

enter image description here

如何将用逗号分隔的字符串更改为图像类型列表

由于

1 个答案:

答案 0 :(得分:0)

OfType进行类型检查并过滤列表。如果item.GetValue("images")确实为您提供了可枚举的IPublishedContent,则您需要调用:Select(_ => new Image(_))

但是,如果item.GetValue(“images”)只是为您提供逗号分隔的字符串,则需要拆分并选择。类似的东西:

item.GetValue("images").Split(',').Select(_ => Umbraco.Media(_)).Select(_ => new Image(_))