当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《SharePoint/MOSS-从列表中删除其他人未签入的项目》经验,为你挑选了2个好方法。

一个简单的场景:

我想从我们的MOSS发布网站删除过时的页面布局.一位前同事使用此页面布局创建了一个新页面,但他没有将其签入.我无法删除pagelayout,因为他的文件正在引用它.我无法"看到"该文件,因为它尚未签入,要将其删除.

我尝试过SPFolder.Items,SPList.GetItemById(),其他一些对象模型方法.但SharePoint根本不会向我显示该项目.我甚至围绕着SPList.GetItem(新的SPQuery(){IncludeAllUserPermissions = true;})

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



1> John Liu..:

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

    转到~s 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();
}

感谢大家 :-)



2> Abs..:

如果您是网站集管理员,还可以强制签入其他人的签出文件.诀窍是你必须知道它所在的库.如果你知道,你可以导航到那个库,然后做以下事情:

    单击设置 - >文档库设置(或我认为列表设置)

    单击" 权限和管理"列中的" 管理签出文件 "

    您现在应该可以看到已选中的文件列表,然后单击工具栏中的"选择所有权".

    完成后,您可以自己检查文件.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有