SharePoint 2007 - Leggere un SPUser dal campo di una lista

Un’operazione abbastanza comune in SharePoint è quella di dover leggere un utente dal campo di una lista (ad esempio se vogliamo conoscere l’autore di un documento).

Il problema che però si riscontra è quello che, nel campo in questione, troviamo una stringa formattata più o meno così: 23;#utente.

Praticamente abbiamo l’ID che quell’utente ha nell’elenco degli utenti del sito dove si trova la lista, un separatore ed il nome dell’utente.

Se quello che ci interessa è però avere una classe SPUser che rappresenti l’utente contenuto nel campo che stiamo leggendo, dobbiamo scrivere qualche riga di codice in più:

 

public SPUser GetSPUserFromField(SPListItem item, string fieldName)

{

      SPFieldUser field = (SPFieldUser)item.Fields[fieldName];

      SPFieldUserValue fieldValue = (SPFieldUserValue)field.GetFieldValue(item[fieldName].ToString());

      return fieldValue.User;

}

 

Technorati Tags:
«marzo»
domlunmarmergiovensab
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234