Проблема обновления элемента определенного типа содержимого (вытекает из папки)
-
09-12-2019 - |
Вопрос
Я сталкиваюсь с некоторыми проблемами, обновляя некоторые элементы в моем обработке событий.
У меня есть библиотека документов, в которой у меня есть папки, элементы и папка типа Pratica, которые вытекают из папки и имеют тот же атрибут других элементов в списке.
Так ... Код, который я написал, вызывается обработчиком событий и хочу применить моды на всех элементах под определенной папкой ..
Это работает для предметов (например, файлов и т. Д.).Когда он анализ подпапок и найдите его правильного типа содержимого, пытается изменить столбец, но модифицируйте не было применено (без исключения и отладки каждая инструкция передается !!)
любое предложение?
Спасибо!
private void RecursiveUpdateItemCliente(SPFolder folder, string RagioneSociale, Guid fieldRS)
{
foreach (SPFile spfile in folder.Files)
{
this.EventFiringEnabled = false;
spfile.Item[fieldRS] = RagioneSociale;
spfile.Item.SystemUpdate();
this.EventFiringEnabled = true;
}
foreach (SPFolder spfolder in folder.SubFolders)
{
if ((spfolder.Name != "Forms") && (spfolder.Item.ContentTypeId.IsChildOf(new SPContentTypeId(PRATICA))))
{
this.EventFiringEnabled = false;
folder.Item[fieldRS] = RagioneSociale;
folder.Item.SystemUpdate();
this.EventFiringEnabled = true;
}
RecursiveUpdateItemCliente(spfolder, RagioneSociale, fieldRS); }
}
. Решение
private void RecursiveUpdateItemCliente(SPFolder folder, string RagioneSociale, Guid fieldRS)
{
foreach (SPFile spfile in folder.Files)
{
this.EventFiringEnabled = false;
spfile.Item[fieldRS] = RagioneSociale;
spfile.Item.SystemUpdate();
this.EventFiringEnabled = true;
}
foreach (SPFolder spfolder in folder.SubFolders)
{
if ((spfolder.Name != "Forms") && (spfolder.Item.ContentTypeId.IsChildOf(new SPContentTypeId(PRATICA))))
{
//I MUST GET SPFOLDER and NOT folder element...
this.EventFiringEnabled = false;
spfolder.Item[fieldRS] = RagioneSociale;
spfolder.Item.SystemUpdate();
this.EventFiringEnabled = true;
}
RecursiveUpdateItemCliente(spfolder, RagioneSociale, fieldRS); }
.
}
Не связан с sharepoint.stackexchange