Pregunta

Puede un experto en SharePoint explicarme la;? # En los datos devueltos por los GetListItems () llamar al servicio web Listas

Creo que entiendo lo que están haciendo aquí. El; # es casi como una sintaxis para hacer un comentario ... o mejor aún, incluyendo los datos reales (cuerda) y no sólo la identificación. De esta manera usted puede utilizar cualquiera, pero están muy bien emparejados juntos en la misma columna.

¿Estoy fuera de lugar? No puedo averiguar la cocina ligeramente diferente uso. Por ejemplo

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

Puede alguien por ahí arrojar alguna luz sobre este aspecto de SharePoint?

¿Fue útil?

Solución

El ;# cadena se utiliza como delimitador de campos de búsqueda de SharePoint, incluyendo campos de usuario. Cuando se trabaja con el modelo de objetos, puede utilizar SPFieldLookupValue y SPFieldUserValue para convertir la cadena delimitada en un objeto inflexible de tipos. Cuando se trabaja con los servicios web, sin embargo, creo que tendrá que analizar la cadena de sí mismo.

Tiene razón en que la primera parte es un número entero ID: ID en la lista de usuarios sitio, o ID de la partida correspondiente en la lista de búsqueda. La segunda parte es el nombre de usuario o el valor de la columna de búsqueda.


Nicolas señala correctamente que este delimitador se utiliza también para otros valores de campo de compuestos, incluyendo ...

  • SPFieldLookupValueCollection
  • SPFieldMultiColumnValue
  • SPFieldMultiChoiceValue
  • SPFieldUserValueCollection

Otros consejos

El SPFieldUser hereda de la SPFieldLookup que utiliza el; # notación. Se puede analizar fácilmente el valor mediante la creación de una nueva instancia de la clase SPFieldLookupValue:

string rawValue = "1;#value";
SPFieldLookupValue lookupValue = new SPFieldLookupValue(rawValue);
string value = lookupValue.LookupValue; // returns value
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top