Question

un expert SharePoint peut me expliquer la;? # Dans les données renvoyées par les GetListItems () pour les listes de service Web

Je pense que je comprends ce qu'ils font ici. Le; # est presque comme une syntaxe pour faire un commentaire ... ou mieux encore, y compris les données réelles (chaîne) et non seulement l'ID. De cette façon, vous pouvez utiliser, mais ils sont bien appariés dans la même colonne.

Suis-je la base loin? Je ne peux pas comprendre l'utilisation slighly différente. Par exemple

I have a list with:    
ows_Author  
658;#Tyndall, Bruno    
*in this case the 658 seems to be an ID for me in a users table somewhere*

ows_CreatedDate (note: a custom field. not ows_Created)    
571;#2009-08-31 23:41:58    
*in this case the 571 seems to be an ID of the row I'm already in. Why the repetition?*   

Quelqu'un peut-il jeter là un peu de lumière sur cet aspect de SharePoint?

Était-ce utile?

La solution

La ;# chaîne est utilisé comme séparateur par les champs de recherche de SharePoint, y compris les champs utilisateur. Lorsque vous travaillez avec le modèle d'objet, vous pouvez utiliser SPFieldLookupValue et SPFieldUserValue pour convertir la chaîne délimitée dans un objet fortement typé. Lorsque vous travaillez avec les services Web, cependant, je crois que vous aurez besoin d'analyser la chaîne vous-même.

Vous avez raison que la première partie est un nombre entier ID: ID dans le site liste d'utilisateurs, ou ID de l'élément correspondant dans la liste de référence. La deuxième partie est le nom d'utilisateur ou de la valeur de la colonne de recherche.


Nicolas fait remarquer à juste titre que ce délimiteur est également utilisé pour d'autres valeurs de champ composites, y compris ...

  • SPFieldLookupValueCollection
  • SPFieldMultiColumnValue
  • SPFieldMultiChoiceValue
  • SPFieldUserValueCollection

Autres conseils

Le SPFieldUser hérite de la SPFieldLookup qui utilise la, la notation #. Vous pouvez facilement analyser la valeur en créant une nouvelle instance de la classe SPFieldLookupValue:

string rawValue = "1;#value";
SPFieldLookupValue lookupValue = new SPFieldLookupValue(rawValue);
string value = lookupValue.LookupValue; // returns value
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top