我向我的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
这是我的图像类
如何将用逗号分隔的字符串更改为图像类型列表
由于
答案 0 :(得分:0)
OfType进行类型检查并过滤列表。如果item.GetValue("images")
确实为您提供了可枚举的IPublishedContent,则您需要调用:Select(_ => new Image(_))
。
但是,如果item.GetValue(“images”)只是为您提供逗号分隔的字符串,则需要拆分并选择。类似的东西:
item.GetValue("images").Split(',').Select(_ => Umbraco.Media(_)).Select(_ => new Image(_))