Kentico TreeNode删除方法不删除依赖项

问题描述:

我有以下代码块检索kentico中的文档节点并删除它。它确实会删除kentico节点,但不会删除保留在数据中的基础文档类型。帮帮我?!Kentico TreeNode删除方法不删除依赖项

CMS.TreeEngine.TreeProvider provider = new CMS.TreeEngine.TreeProvider(CMS.CMSHelper.CMSContext.CurrentUser); 
CMS.TreeEngine.TreeNode image = provider.SelectSingleNode(new Guid(imageID), "en-US", CMS.CMSHelper.CMSContext.CurrentSite.SiteName); 

if (image != null) 
{ 
    CMS.TreeEngine.TreeNode school = provider.SelectSingleNode(image.Parent.NodeID, "en-US", true, true); 
    if (school != null) 
    { 
     string CMSUserID = school.GetValue("CMSUserID").ToString(); 
     if (CMSUserID == ui.UserID.ToString()) 
     { 
      image.Delete(false);           
     } 
    } 
} 

您需要使用CMS.WorkflowEngine命名空间中的DeleteDocument方法。它确保所有相关对象都被删除。

DocumentHelper.DeleteDocument(image,provider,true,true,true);

+0

谢谢你的工作。奇怪我的原始代码不起作用,但我不使用任何Kentico工作流程? – Grimboify

+0

使用工作流方法可确保删除所有依赖对象。我同意Treenode.Delete()方法应该按照您的预期工作,特别是当您使用重载方法且保留数据设置为'false'时... –