Question

Je veux vérifier si un champ existe dans mon programme, mais si j'utilise:

if (item[_strContainingFieldName] != null)
{
    item[_strContainingFieldName] = fieldValue;
}

Je reçois une erreur indiquant

La propriété ou le champ n'a pas été initialisé.Il n'a pas été demandé ou la demande n'a pas été exécutée.Il peut être nécessaire d'être explicitement demandé.

Donc, je voulais utiliser List.Fields.ContainsField ou properties.ListItem.Fields.ContainsField, mais je n'ai oublié que cela ne peut les utiliser que dans l'API du serveur.

Y a-t-il quelque chose de similaire que je peux utiliser en ce moment?L'outil sera une application "à jeter" puisque nous faisons des mises à jour dans les coulisses, donc je ne suis pas trop inquiet pour attraper toutes les possibilités et tout connecter.

Remarque: la langue est C #

Était-ce utile?

La solution

De l'erreur, je pense que vous utilisez CSOM.Si oui, alors vous devez charger les propriétés avant de l'utiliser.

context.Load(item); 
context.ExecuteQuery();

Pour vérifier si le champ existe sur l'utilisation suivante:

if(item.FieldValues.ContainsKey("salesdate"))

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top