因此,長話短說,我想刪除(回收)一個項目,保存它的ID,然後使用該ID從垃圾箱恢復它。item.Recycle返回一個空的GUID(SharePoint Online,C#)
我可以通過名稱從垃圾桶中恢復一個項目,像這樣:
if (rItem.leafname == "torecycle.docx")
{
rItem.restore();
client.executequery();
}
}
但這需要用戶知道該項目的名稱預先。
當物料被回收並移動到垃圾箱時,其ID會發生變化。 item.Recycle()
方法應該返回一個ClientResult<Guid>
與RecycleBinItem
的新ID,但返回的Guid
是空的(全零)。
我回收的項目是這樣的:
if (item.DisplayName == "torecycle")
{
client.Load(item);
var recycledItem = item.Recycle();
var newGuid = recycledItem.Value;
Console.WriteLine("new guid " + newGuid);
Client.ExecuteQuery();
}
打印出來是new guid 00000000-0000-0000-0000-000000000000
,但它確實正確遷移該回收站項目到回收站。
我失去了一些東西在這裏?我怎樣才能得到RecycleBinItem
的實際Guid?
任何幫助將不勝感激!
這是奇怪的行爲,msdn自己說它應該返回'回收站中的新項目'的有效GUID。你嘗試過調試嗎?調用方法後,sharepoint是否在回收站中有文件? – Tatranskymedved
'.Value',是因爲guid是一個'Nullable',還是因爲'newGuid'實際上是'ClientResult'類型? –
dlatikay
@Tatranskymedved是的,它確實可以正確地回收物品,儘管空的Guid。我更新了原始帖子以包含那一點! – Kuura