HOT从UserInformationList获取自定义用户属性
-
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"]);
解决方案
从UserProfileManager中检查GetUserProfile。您得到整个对象,应该是搜索所有自定义属性列表的正确位置。
我正在研究一个几乎simliar webpart ..我试图仅显示几个自定义属性。
希望提供帮助
http://msdn.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx
其他提示
首先,从来没有以这种方式在SharePoint中使用Linq!击中.Items属性时,您将从数据库中检索完整的用户信息列表!而是使用CAML查询使用SPQUERY对象“搜索”用户。
我建议您使用 U2U CAML查询构建器 要构建查询 - 使用该工具,您将获得正确的列和列名。