我有一个站点核心项目“ CurrentItem”,其字段为“ image”。我正在从后面的代码中进行编辑,如下所示:

//Get the Image from /sitecore/media library/Images/Test
Item imageItem = Sitecore.Context.Database.GetItem("{AEBB3071-3462-405C-9CD3-A2B515B343D1}")
//Edit
CurrentItem.Editing.BeginEdit();
CurrentItem["image"] = imageItem.ToString();
CurrentItem.Editing.EndEdit();


PS:imageItem/sitecore/media library/Images/Test下的图片

我也尝试了CurrentItem["image"] = imageItem.Paths.Path;,但还是没有运气。

最佳答案

您需要将字段作为ImageField并将MediaID属性设置为MediaItem的ID:

//Get the Image from /sitecore/media library/Images/Test
Sitecore.Data.Items.MediaItem imageItem = Sitecore.Context.Database.GetItem("{AEBB3071-3462-405C-9CD3-A2B515B343D1}")
//Edit
CurrentItem.Editing.BeginEdit();
var imageField = CurrentItem.Fields["image"] as ImageField;
imageField.MediaID = imageItem.ID;
imageField.MediaPath = imageItem.MediaPath;
CurrentItem.Editing.EndEdit();


您也可以在this博客中查看有关6.X版本的更多说明。

关于c# - 如何从代码隐藏中编辑Sitecore图片字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34335359/

10-13 04:59