Мне нужно удалить весь экземпляр рендеринга с помощью идентификатора рендеринга. Я пробовал код ниже, но не работал.Удалить визуализацию с Sitecore Item
LayoutField layoutField = new LayoutField(item.Fields[Sitecore.FieldIDs.LayoutField]);
LayoutDefinition layoutDefinition = LayoutDefinition.Parse(layoutField.Value);
DeviceDefinition deviceDefinition = layoutDefinition.GetDevice(Sitecore.Context.Device.ID.ToString());
//Create a RenderingDefinition and add the reference of sublayout or rendering
RenderingDefinition renderingDefinition = new RenderingDefinition();
renderingDefinition.ItemID = sublayoutId;
var d = layoutDefinition.GetDevice(deviceDefinition.ID.ToString());
d.Renderings.Remove(renderingDefinition);
item.Editing.BeginEdit();
layoutField.Value = layoutDefinition.ToXml();
item.Editing.EndEdit();
я говорил:
- http://blog.ryanbailey.co.nz/2016/08/sitecore-remove-renderings-or.html
- Programmatically removing sublayouts in Sitecore
В какой момент вы удаляете рендеринг? Это одно исполнение? –