Question

Mes profils d'utilisateurs ont des propriétés personnalisées. Maintenant, je dois obtenir une liste de toutes les valeurs que cette propriété personnalisée a sur tout utilisateur. Ce code renvoie une erreur « La colonne « division »n'existe pas. Il peut avoir été supprimé par un autre utilisateur ».

Est-ce l'approche de droit? Il y a beaucoup d'utilisateurs et de nombreuses valeurs possibles distinctes.

 SPListItemCollection userInformationList = SPContext.Current.Web.SiteUserInfoList.Items;
  var divisions= (from SPListItem userItem in userInformationList.Items where userItem["Division"] != null select userItem["Division"]); 
Était-ce utile?

La solution

Vérifier la GetUserProfile de UserProfileManager. Vous obtenez l'objet entier, devrait être le bon endroit pour rechercher une liste de toutes les propriétés personnalisées ..

Je travaille sur un webpart presque simliar .. im essayant d'afficher seulement quelques propriétés personnalisées ..

espère aider

http://msdn.microsoft. com / fr-fr / bibliothèque / microsoft.office.server.userprofiles.userprofilemanager.aspx

Autres conseils

Tout d'abord, ne jamais utiliser LINQ de cette manière dans SharePoint! Vous récupérer la liste complète d'informations utilisateur à partir de la base de données lors de la frappe la propriété .Items! Au lieu d'utiliser une requête CAML à « rechercher » pour les utilisateurs à l'aide de l'objet SPQuery.

Je vous recommande d'utiliser le U2U CAML Query Builder pour construire votre requête - à l'aide de cet outil, vous obtiendrez les colonnes correctes et nom de la colonne

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top