Frage

Kann ein Sharepoint-Experte mir erklären, die,? # In Daten, die von dem GetListItems () Aufruf des Listen Webdienst zurück

Ich glaube, ich verstehe, was sie hier tun. Der; # ist fast wie eine Syntax für einen Kommentar zu machen ... oder besser noch, einschließlich der tatsächlichen Daten (string) und nicht nur die ID. Auf diese Weise kann entweder verwenden, aber sie sind schön zusammen in der gleichen Spalte gekoppelt ist.

Bin ich weg Basis? Ich kann einfach nicht die slighly unterschiedliche Verwendung herauszufinden. Zum Beispiel

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?*   

Kann jemand aus etwas Licht dort auf diesen Aspekt der Sharepoint vergießen?

War es hilfreich?

Lösung

Der String ;# wird als Trennzeichen von Sharepoint-Lookup-Felder, einschließlich Benutzerfelder verwendet. Wenn es mit dem Objektmodell arbeiten, können Sie SPFieldLookupValue und SPFieldUserValue verwenden, um die getrennte Zeichenfolge in ein stark typisierte Objekt zu konvertieren. Wenn sie mit den Web-Diensten arbeiten, aber ich glaube, Sie finden sich die Zeichenfolge analysieren müssen.

Sie sind richtig, dass der erste Teil eine ganze Zahl ID: ID in der Website-Benutzerliste oder ID des entsprechenden Elements in der Lookup-Liste. Der zweite Teil ist der Benutzername oder Wert der Nachschlagespalte.


Nicolas richtig stellt fest, dass diese Trennzeichen auch für andere Verbundfeldwerte verwendet wird, einschließlich ...

  • SPFieldLookupValueCollection
  • SPFieldMultiColumnValue
  • SPFieldMultiChoiceValue
  • SPFieldUserValueCollection

Andere Tipps

Die SPFieldUser erbt von der SPFieldLookup, die die verwendet; # Notation. Sie können ganz einfach den Wert, indem Sie eine neue Instanz der Klasse SPFieldLookupValue analysieren:

string rawValue = "1;#value";
SPFieldLookupValue lookupValue = new SPFieldLookupValue(rawValue);
string value = lookupValue.LookupValue; // returns value
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top