Как обнаружить восстановление элемента по событию ItemAdded () в SharePoint - PullRequest
3 голосов
/ 26 января 2009

Я знаю, что когда элемент восстанавливается из корзины, вызывается событие ItemAdded. Тем не менее, как я могу определить, был ли добавлен элемент из корзины или это новый файл.

Ответы [ 5 ]

2 голосов
/ 23 августа 2013

Это очень старая тема, но она попадает в топ результатов поиска по теме.

Из моих экспериментов с SP2010, похоже, что properties.AfterProperties пусто, когда элемент поступает из корзины, тогда как оно полностью заполнено фактическим новым элементом.

Итак, простой блок, подобный этому, сработает:

if (!properties.AfterProperties.Cast<DictionaryEntry>().Any())
{
    // From Recycle Bin!
}
else
{
    // This item is really new.
}

Я еще не тестировал MOSS или SP2013.

0 голосов
/ 18 апреля 2011

Проверьте значение свойства SPItemEventProperties.ListItemId:

  • Если это 0, то это новый элемент;
  • Если это не 0, то это пункт это восстановлено из корзины.
0 голосов
/ 26 января 2009

Элементы в корзине имеют DeletedDate, которая может быть доступна в свойствах. BeforeProperties

0 голосов
/ 05 февраля 2009

Если вы хотите обнаружить это вручную, то проверьте свойство документа: там созданные данные отличаются. Для документа, даже если он был брошен в корзину, созданные данные совпадают. Если вы хотите сделать это через рабочий процесс, вы можете установить свойство в качестве эталона. более подробно, пожалуйста, найдите его сами.

0 голосов
/ 26 января 2009

Вы можете проверить дату создания предмета. Элементы из корзины должны иметь предыдущую дату создания.

...