by Piotrosz
22. July 2010
Metoda odczytująca wartość z listy informacji o użytkowniku w WSS:
string GetValueFromUserProfile(SPWeb web, SPUser user, string fieldName)
{
var result = string.Empty;
if (web != null && user != null && !string.IsNullOrEmpty(fieldName))
{
SPListItem userItem = web.SiteUserInfoList.GetItemById(user.ID);
if (userItem.Fields.ContainsField(fieldName))
{
SPField field = userItem.Fields.GetFieldByInternalName(fieldName);
if (field != null && userItem[field.Id] != null)
result = userItem[field.Id].ToString();
}
}
return result;
}
Przykład użycia:
SPUser user = SPContext.Current.Web.AllUsers["domena\\jan"];
SPWeb web = SPContext.Current.Web;
string wiek = GetValueFromUserProfile(web, user, "Wiek");
string kolorOczu = GetValueFromUserProfile(web, user, "Kolor_x0020_oczu");