有誰知道如何從Sitecore項目中刪除渲染?以編程方式刪除Sitecore中的子佈局
我想刪除所有的子佈局,所以我可以用新的集合替換它們。 我有tried this,但它似乎沒有工作。該項目沒有任何變化。
我似乎能夠得到的效果是這樣的:
RenderingReference[] renderings = item.Visualization.GetRenderings(Sitecore.Context.Device, true);
但似乎沒有辦法再進行設置。
我也可以得到這樣的效果圖(從上面的鏈接):
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();
但同樣,這並不工作。從layoutDefinition清除設備並設置修改後的設備導致了此例外:No connection could be made because the target machine actively refused it
。而我現在根本無法查看該項目!
我覺得我吠叫錯了樹,任何想法?
使用Sitecore的6.4
UPDATE回覆:techphoria414
代碼我想:
layoutDefinition.Devices.Clear();
layoutDefinition.Devices.Add(device);
你能提供你正在使用的代碼來保存更改回現場,以及異常的完整堆棧跟蹤嗎? – techphoria414 2012-03-07 16:22:31
更新了我的問題。 – Jon 2012-03-07 16:34:29