Páginas

segunda-feira, 25 de junho de 2012

Ao atualizar programaticamente uma coleção: "Collection was modified; enumeration operation may not execute"

Ao tentar atualizar uma informação diretamente em uma coleção de dados, você pode encontrar este erro, como no caso abaixo:
foreach (SPListItem item in lista.Items){
item["coluna"] = "Novo titulo";
item.Update();
}
Ao invés disto, salve o identificador dos ListItems que você deseja modificar em um objeto à parte (pode ser uma lista genérica, por exemplo), e acesse diretamente este item depois através do identificador, não modificando em uma coleção.
SPListItem item = list.GetItemById(idItem);
item["coluna"] = "Novo titulo";
item.Update();

Nenhum comentário:

Postar um comentário