如何从代码隐藏编辑 Sitecore 图像字段

How to edit the Sitecore Image Field from codebehind

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

//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 博客 post,了解有关 post 6.X 版本的更多说明。

您可以使用 Sitecore.Data.Fields.ImageField class 更新图像字段。例如, 更新 Master 中 /Sitecore/Content/Home 项中名为 ImageField 的图像字段 数据库到 /Sitecore/Media Library/Images/Sample 图片:

Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");
Sitecore.Data.Items.Item sampleItem =
 master.GetItem("/sitecore/media library/images/sample");
Sitecore.Data.Items.MediaItem sampleMedia =
 new Sitecore.Data.Items.MediaItem(sampleItem);
Sitecore.Data.Fields.ImageField imageField = home.Fields["imagefield"];
if (imageField.MediaID != sampleMedia.ID )
{
 home.Editing.BeginEdit();
 imageField.Clear();
 imageField.Src = Sitecore.Resources.Media.MediaManager.GetMediaUrl(sampleMedia);
 imageField.MediaID = sampleMedia.ID;
 imageField.MediaPath = sampleMedia.MediaPath;
 if (!String.IsNullOrEmpty(sampleMedia.Alt))
 {
 imageField.Alt = sampleMedia.Alt;
 }
 else
 {
 imageField.Alt = sampleMedia.DisplayName;
 }
 home.Editing.EndEdit();
}

请检查 https://sdn.sitecore.net/upload/sitecore6/64/content_api_cookbook-usletter.pdf 4.1.7 如何访问图像字段