You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Sitefinity API解锁共享内容块?锁定属性缺失疑问

Sitefinity API解锁共享内容块的锁定问题解决
  • 共享内容块的锁定信息并不存在于ContentItem对象里,得用LockManager来处理——这是Sitefinity专门管锁定的工具,和PageManager自带锁定属性的逻辑不一样。

  • 具体操作步骤:

    1. 先拿到目标共享内容块的ID
    2. 通过LockManager.GetManager()获取锁管理器实例
    3. 调用GetLock(itemId)获取锁对象,这里面就包含LockedBy、LockDate这些你需要的锁定相关属性
    4. 若要解锁,调用ReleaseLock(lockObject)方法即可,别忘保存更改
  • 示例代码片段:

using Telerik.Sitefinity.Model.Locking;
using Telerik.Sitefinity.Modules.GenericContent;

// 获取内容管理器
var contentManager = ContentManager.GetManager();
// 根据ID获取目标共享内容块
var contentItem = contentManager.GetContentItem(new Guid("替换成你的内容块ID"));

// 获取锁管理器
var lockManager = LockManager.GetManager();
// 拿到该内容块的锁对象
var itemLock = lockManager.GetLock(contentItem.Id);

// 判断是否处于锁定状态,是则解锁
if (itemLock != null && itemLock.IsLocked)
{
    lockManager.ReleaseLock(itemLock);
    lockManager.SaveChanges();
}
  • 补充说明:Sitefinity的内容模块(包括共享内容块)的锁定逻辑是由独立的锁系统管控的,UI上显示的锁定状态就是从这个系统读取的,所以API层面必须通过LockManager操作,无法直接从ContentItem对象中获取锁定属性。

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 00:35:19