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を確認してください。オブジェクト全体を取得し、すべてのカスタムプロパティのリストを検索するのに適した場所である必要があります。
私はほぼ同時のウェブパートに取り組んでいます。私はいくつかのカスタムプロパティのみを表示しようとしています。
助けたいと思っています
http://msdn.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx
他のヒント
まず、SharePointでこのようにLINQを使用することはありません! .itemsプロパティにヒットすると、データベースから完全なユーザー情報リストを取得します!代わりに、CAMLクエリを使用して、Spqueryオブジェクトを使用してユーザーを「検索」します。
使用することをお勧めします U2U CAMLクエリビルダー クエリを作成するには、そのツールを使用して、正しい列と列名が表示されます。
所属していません sharepoint.stackexchange