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: SharePoint
posted @ lunedì 30 marzo 2009 14:55