umbraco - 如何在 Umbraco 7 中以编程方式取消发布内容

标签 umbraco umbraco7

我一直在尝试以编程方式在 Umbraco 7 中取消发布内容,但它似乎没有按预期工作。虽然内容已从缓存中删除,但数据库记录从未更新:

node.UnPublish();
umbraco.library.UnPublishSingleNode(node.Id);

经过进一步调查,我发现 UnPublishSingleNode 方法已过时:

[Obsolete("This method is no longer used, 
a document's cache will be removed automatically 
when the document is deleted or unpublished")]
public static void UnPublishSingleNode(int DocumentId);

消息没有提示新方法:(

我需要有关如何以编程方式取消发布内容的说明。

Umbraco 版本:7.3.3

最佳答案

我终于通过Umbraco.Core.Services.IContentService让它工作了

用法:

var contentServices = ApplicationContext.Current.Services.ContentService;
var content = contentServices.GetById(node.Id);
contentServices.UnPublish(content, 0);

我希望这对其他人有帮助。

关于umbraco - 如何在 Umbraco 7 中以编程方式取消发布内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34543629/

相关文章:

.net - @item.BodyText 在 MVC3 中不是原始格式

templates - 使用 Umbraco 7.2 GridView ,如何将 GridView 插入到我的模板中?

html - 相同的youtube视频在带有后退键的新闻列表上加载

Umbraco:通过 SurfaceController 获取 ImageCropper 和文件上传

asp.net-mvc-3 - 乌布拉科 5 : site search

xml - umbraco 导航,节点显示两次

c# - Umbraco 检查 - 查询问题

Umbraco - Xml 缓存已损坏。使用 Health Check 数据完整性仪表板修复它

umbraco - 应该将 umbraco 和 umbraco_client checkin 源代码管理吗?

umbraco - 如何在 UmbracoApiController 中创建继承 RenderModel 的模型实例?