Итак, короткая история, я хочу удалить (переработать) элемент, сохранить его идентификатор, а затем восстановить его из корзины с помощью этого идентификатора.item.Recycle возвращает пустой GUID (SharePoint Online, C#)
я могу восстановить элемент из урны по имени, например, так:
if (rItem.leafname == "torecycle.docx")
{
rItem.restore();
client.executequery();
}
}
Но это требует от пользователя знать имя элемента заранее.
Когда товар перерабатывается и перемещается в корзину, его идентификатор изменяется. Предполагается, что метод item.Recycle()
возвращает ClientResult<Guid>
с новым идентификатором RecycleBinItem
, но возвращенный 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
?
Любая помощь была бы высоко оценена!
Это странное поведение, msdn говорит сам за себя, что он должен возвращать действительный GUID «нового элемента в корзине». Вы пытались отладить это? Имеет ли sharepoint файл в корзине после вызова метода? – Tatranskymedved
'.Value', это потому, что guid является' Nullable', или потому что 'newGuid' фактически имеет тип' ClientResult '? –
dlatikay
@Tatranskymedved Да, он правильно перерабатывает предмет, несмотря на пустой Guid. Я обновил исходное сообщение, чтобы включить этот бит! – Kuura