Update list item not apply for all field

  Work - SharePoint

Hiện tượng: Chỉ update được 1 field cuối cùng

Nguyên nhân: Do khi gán value vào field lại có đoạn check type của field khi đó item bị reset.

item = itemSharepoint.FirstOrDefault();
for (int i = 0; i < mergeFieldList.Count; i++)
{
if (String.IsNullOrEmpty(dataMerge[mergeFieldList[i]]))
{
continue;
}
var fieldName = mergeFieldSharepointList[i];
var fieldSharepoint = documentLibrary.Fields.GetByInternalNameOrTitle(fieldName.Substring(fieldName.IndexOf(“(“) + 1, fieldName.IndexOf(“)”) – fieldName.IndexOf(“(“) – 1));
clientContext.Load(fieldSharepoint);
clientContext.ExecuteQuery();
if (fieldSharepoint.FieldTypeKind == FieldType.Lookup)
{
FieldLookupValue value = new FieldLookupValue();
value.LookupId = Int32.Parse(dataMerge[mergeFieldList[i]]);
item[fieldSharepoint.InternalName] = value;
}
else
{
item[fieldName.Substring(fieldName.IndexOf(“(“) + 1, fieldName.IndexOf(“)”) – fieldName.IndexOf(“(“) – 1)] = dataMerge[mergeFieldList[i]];
}
}

                    item.Update();

LEAVE A COMMENT