Горячо, чтобы получить пользовательское свойство пользователя из пользовательского списка
-
16-10-2019 - |
Вопрос
Мои профили пользователей имеют некоторые пользовательские свойства. Теперь мне нужно получить список всех значений, которые это пользовательское свойство имеет для любого пользователя. Этот код возвращает ошибку, что «разделение» столбца »не существует. Он мог быть удален другим пользователем».
Это правильный подход? Есть много пользователей и, возможно, много различных значений.
SPListItemCollection userInformationList = SPContext.Current.Web.SiteUserInfoList.Items;
var divisions= (from SPListItem userItem in userInformationList.Items where userItem["Division"] != null select userItem["Division"]);
Решение
Проверьте GetUserProfile от userProfilEmanager. Вы получаете весь объект, должно быть подходящим местом для поиска списка всех пользовательских свойств.
Я работаю над почти Simliar WebPart .. Я пытаюсь отобразить только пару пользовательских свойств ..
надеюсь помочь
http://msdn.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx
Другие советы
Прежде всего, никогда не используйте LINQ таким образом в SharePoint! Вы получите полный список информации пользователей из базы данных при достижении свойства .items! Вместо этого используйте запрос CAML, чтобы «поиск» пользователей, использующих объект Spquery.
Я бы порекомендовал вам использовать U2U CAML -запросы Builder Чтобы построить свой запрос - используя этот инструмент, вы получите правильные столбцы и имя столбца.