gpt4 book ai didi

SharePoint/MOSS - 从列表中删除其他人未 checkin 的项目

转载 作者:行者123 更新时间:2023-12-04 16:57:16 24 4
gpt4 key购买 nike

一个简单的场景:

我想从我们的 MOSS 发布站点中删除过时的页面布局。
一位前同事使用此页面布局创建了一个新页面,但他尚未将其 checkin 。
我无法删除页面布局,因为他的文件正在引用它。
我无法“看到”该文件,因为它尚未 checkin ,无法将其删除。

我已经尝试过 SPFolder.Items、SPList.GetItemById()、其他几个对象模型方法。但 SharePoint 根本不会向我显示该项目。
我什至在 SPList.GetItem(new SPQuery() { IncludeAllUserPermissions = true; })

有谁知道如何摆脱这个项目? :-)

最佳答案

Abs 的回答给了我们提示 - 嘿,ManageCheckedOutFiles 页面如何查看其他用户尚未 checkin 的文件?

  • 转到 ~layouts/ManageCheckedOutFiles.aspx
  • 继承自 Microsoft.SharePoint.ApplicationPages.ManageCheckedOutFilesPage
  • 反射器 12\CONFIG\BIN\Microsoft.SharePoint.ApplicationPages.dll
  • 在 protected void PrepareContent() 中,我们阅读了关键行:
  • IList checkedOutFiles = this.CurrentList.CheckedOutFiles;

  • 所以回到我们的代码
    SPDocumentLibrary doclib = PublishingWeb.PagesList as SPDocumentLibrary;
    foreach(var checkedoutfile in doclib.CheckedOutFiles)
    {
    checkedoutfile.TakeOverCheckOut();
    var file = doclib.GetItemById(checkedoutfile.ListItemId);
    file.CheckIn();
    }

    谢谢大家 :-)

    关于SharePoint/MOSS - 从列表中删除其他人未 checkin 的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/491004/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com