一个简单的场景:
我想从我们的MOSS发布网站删除过时的页面布局.一位前同事使用此页面布局创建了一个新页面,但他没有将其签入.我无法删除pagelayout,因为他的文件正在引用它.我无法"看到"该文件,因为它尚未签入,要将其删除.
我尝试过SPFolder.Items,SPList.GetItemById(),其他一些对象模型方法.但SharePoint根本不会向我显示该项目.我甚至围绕着SPList.GetItem(新的SPQuery(){IncludeAllUserPermissions = true;})
有谁知道如何摆脱这个项目?:-)
Abs的答案引导我们给了我们提示 - 嘿,ManageCheckedOutFiles页面如何查看其他用户尚未登记的文件?
所以回到我们的代码中
SPDocumentLibrary doclib = PublishingWeb.PagesList as SPDocumentLibrary;
foreach(var checkedoutfile in doclib.CheckedOutFiles)
{
checkedoutfile.TakeOverCheckOut();
var file = doclib.GetItemById(checkedoutfile.ListItemId);
file.CheckIn();
}
Run Code Online (Sandbox Code Playgroud)
感谢大家 :-)
如果您是网站集管理员,还可以强制签入其他人的签出文件.诀窍是你必须知道它所在的库.如果你知道,你可以导航到那个库,然后做以下事情:
| 归档时间: |
|
| 查看次数: |
20106 次 |
| 最近记录: |