相关疑难解决方法(0)

以编程方式删除Sitecore中的子布局

有谁知道如何从Sitecore项目中删除渲染?

我想删除所有子布局,以便我可以用新的替换它们.我试过这个,但它似乎没有用.该项目没有任何变化.

我似乎能够像这样得到渲染:

RenderingReference[] renderings = item.Visualization.GetRenderings(Sitecore.Context.Device, true);
Run Code Online (Sandbox Code Playgroud)

但似乎没有办法设置它们.

我也可以得到这样的效果图(来自上面的链接):

LayoutDefinition layoutDefinition = LayoutDefinition.Parse(LayoutField.GetFieldValue(item.Fields[Sitecore.FieldIDs.LayoutField]));
DeviceDefinition device = layoutDefinition.GetDevice(Sitecore.Context.Device.ID.ToString());

if (device.Layout != null) device.Layout = null;
if (device.Renderings != null) device.Renderings = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

但这又不起作用.从layoutDefinition中清除设备并设置修改后的设备导致了这个异常:No connection could be made because the target machine actively refused it.我现在根本无法查看该项目!

我觉得我正在吠叫错误的树,任何想法?

使用Sitecore 6.4

更新回复:techphoria414

我试过的代码:

layoutDefinition.Devices.Clear();
layoutDefinition.Devices.Add(device);
Run Code Online (Sandbox Code Playgroud)

.net c# sitecore sitecore6

3
推荐指数
1
解决办法
2273
查看次数

标签 统计

.net ×1

c# ×1

sitecore ×1

sitecore6 ×1