Domanda

Può un esperto di SharePoint spiegare a me il;? # Nei dati restituiti dalle GetListItems () chiamata per il servizio di elenchi web

Credo di capire quello che stanno facendo qui. L'; # è quasi come una sintassi per fare un commento ... o meglio ancora, tra cui i dati reali (stringa) e non solo l'ID. In questo modo è possibile utilizzare, ma sono ben accoppiati insieme nella stessa colonna.

Sono io fuori strada? Non riesco proprio a capire l'uso leggermente diverso. Ad esempio

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

Può qualcuno là fuori po 'di luce su questo aspetto di SharePoint?

È stato utile?

Soluzione

Il ;# stringa viene utilizzato come delimitatore da campi di ricerca di SharePoint, tra cui campi utente. Quando si lavora con il modello a oggetti, è possibile utilizzare SPFieldLookupValue e SPFieldUserValue per convertire la stringa delimitata in un oggetto fortemente tipizzato. Quando si lavora con i servizi web, però, credo che sarà necessario analizzare la stringa da soli.

Lei ha ragione che la prima parte è un ID intero: ID nell'elenco degli utenti del sito, o l'ID della voce corrispondente nella lista di ricerca. La seconda parte è il nome utente o il valore della colonna di ricerca.


Nicolas osserva giustamente che questo delimitatore viene utilizzato anche per altri valori di campo compositi, tra cui ...

  • SPFieldLookupValueCollection
  • SPFieldMultiColumnValue
  • SPFieldMultiChoiceValue
  • SPFieldUserValueCollection

Altri suggerimenti

Lo SPFieldUser eredita dalla SPFieldLookup che usa il; # notazione. Si può facilmente analizzare il valore mediante la creazione di una nuova istanza della classe SPFieldLookupValue:

string rawValue = "1;#value";
SPFieldLookupValue lookupValue = new SPFieldLookupValue(rawValue);
string value = lookupValue.LookupValue; // returns value
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top