Umbraco如何使用Umbraco API发布所有未发布的子节点

Umbraco如何使用Umbraco API发布所有未发布的子节点,umbraco,Umbraco,我发现PublishWithSubs()方法只能发布父节点的第一级节点 doc.PublishWithSubs(new User(0)); 如何在一个父节点下发布所有未发布的节点,无论未发布的节点有多深 谢谢在文档类中有一个名为PublishWithChildrenWithResult()的方法。根据源代码,这将递归发布分支下的所有内容: public bool PublishWithChildrenWithResult(User u) { if (Publish

我发现
PublishWithSubs()
方法只能发布父节点的第一级节点

doc.PublishWithSubs(new User(0));
如何在一个父节点下发布所有未发布的节点,无论未发布的节点有多深


谢谢

文档
类中有一个名为
PublishWithChildrenWithResult()
的方法。根据源代码,这将递归发布分支下的所有内容:

   public bool PublishWithChildrenWithResult(User u)
    {
        if (PublishWithResult(u))
        {
            foreach (cms.businesslogic.web.Document dc in Children.ToList())
            {
                dc.PublishWithChildrenWithResult(u);
            }
        }
        else
        {
            return false;
        }

        return true;
    }

使用较新的ContentService API,您可以这样做:

var cs = ApplicationContext.Current.Services.ContentService;    
cs.PublishWithChildrenWithStatus(nodeToPublish, includeUnpublished:true)
最后一个参数允许您指定是否也要发布未发布的子体。 此方法的命名有点不准确,因为它将发布所有子体,而不仅仅是子体