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

标签 c# sitecore sitecore7.2

我有一个站点核心项目“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/

相关文章:

c# - Sitecore GlassMapper 尝试使用查询属性获取没有版本的项目

c# - Entity Framework 多重级联删除

c# - WPF Storyboard 动画不闪烁

c# - for 和 foreach 在闭包方面有什么区别

sitecore - 在某些工作流程操作期间将 Sitecore 验证应用于模板

Sitecore BucketItem 文件夹版本控制问题

c# - CompareTo() 有什么作用?我可比

html - Sitecore 和 HTML 文件

Sitecore 项目迁移过程

sitecore - 关于 Sitecore A/B 测试结果的澄清