gpt4 book ai didi

orchardcms - 从不同部分获取 Orchard 字段

转载 作者:行者123 更新时间:2023-12-02 07:34:15 25 4
gpt4 key购买 nike

在 Orchard 摘要 View 中,我正在显示可以是页面、博客文章或投影的内容项。

我已将媒体选择器字段附加到所有这些类型并将其命名为图片。

我目前正在使用这段可怕的代码从内容项访问媒体选择器:

if (contentItem != null)
{
try
{
mediaPicker = (MediaLibraryPickerField) contentItem.Blog.Picture;
}
catch (Exception e) {}

if (mediaPicker == null)
{
try
{
mediaPicker = (MediaLibraryPickerField)
contentItem.Page.Picture;
}
catch (Exception e) {}
}

if(mediaPicker == null)
{
try
{
mediaPicker = (MediaLibraryPickerField) contentItem.ProjectionPage.Picture;
}
catch (Exception e) {}
}
}

一定有更好的方法吗?

最佳答案

另一种方法是使用 Linq:

var mediaPicker = (MediaLibraryPickerField)
(from part in ((ContentItem)contentItem).Parts
from field in part.Fields
where field.Name == "Picture"
select field).FirstOrDefault();

它很干净,适用于 future 具有图片字段的新类型。

这是流利的等价物:

var mediaPicker = (MediaLibraryPickerField)
((IEnumerable<ContentPart>)contentItem.Parts)
.SelectMany(p => p.Fields)
.FirstOrDefault(f => f.Name == "Picture");

关于orchardcms - 从不同部分获取 Orchard 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18512158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com