Pergunta

Um especialista em SharePoint pode me explicar o;# nos dados retornados pela chamada getListItems () para o serviço da web listas?

Acho que entendo o que eles estão fazendo aqui. O# é quase como uma sintaxe para fazer um comentário ... ou melhor ainda, incluindo os dados reais (string) e não apenas o ID. Dessa forma, você pode usar, mas eles são bem emparelhados na mesma coluna.

Estou muito fora da base? Eu simplesmente não consigo descobrir o uso com brilho e com brilho. Por exemplo

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

Alguém por aí pode lançar alguma luz sobre esse aspecto do SharePoint?

Foi útil?

Solução

A corda ;# é usado como um delimitador pelos campos de pesquisa do SharePoint, incluindo campos de usuário. Ao trabalhar com o modelo de objeto, você pode usar SPFieldLookupValue e SPFieldUserValue Para converter a sequência delimitada em um objeto fortemente tipado. Ao trabalhar com os Serviços da Web, no entanto, acredito que você precisará analisar a string.

Você está certo de que a primeira parte é um ID inteiro: ID na lista de usuários do site ou ID do item correspondente na lista de pesquisa. A segunda parte é o nome de usuário ou o valor da coluna de pesquisa.


Nicolas observa corretamente que esse delimitador também é usado para outros valores de campo composto, incluindo ...

  • SPFIELLELKOUPVALUECOLECTION
  • SpfieldmulticolumnValue
  • SpfieldmultichoiceValue
  • SpfieldUservaluecollection

Outras dicas

O Spfielduser herda do SPFieldLookup que usa a notação;#. Você pode analisar facilmente o valor criando uma nova instância da classe SpfieldLookupValue:

string rawValue = "1;#value";
SPFieldLookupValue lookupValue = new SPFieldLookupValue(rawValue);
string value = lookupValue.LookupValue; // returns value
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top