Création d'une section de profil utilisateur par programme
-
16-10-2019 - |
Question
Je tente de créer une nouvelle section de profil d'utilisateur par programme, mais sans succès. Le problème est avec la propriété Type de classe de propriété .
Quand je spécifie une valeur telle que « section » pour cela, je reçois l'exception Type de données ne sont pas disponibles pour la section . Quand je ne spécifie pas de valeur, je reçois l'exception objet UserProfilePropertySettings doivent avoir un ensemble de valeurs pour « Type » .
Voici le code:
var userProfileConfigManager = new UserProfileConfigManager(ServerContext.GetContext(site));
var propertyCollection = userProfileConfigManager.GetPropertiesWithSection();
var newProperty = propertyCollection.Create(true);
newProperty.Name = "NewSection";
newProperty.DisplayName = "NewSection";
newProperty.Type = "section"; // or not set
newProperty.IsUserEditable = false;
newProperty.Length = 0;
newProperty.DefaultPrivacy = 0;
newProperty.PrivacyPolicy = 0;
newProperty.IsSearchable = false;
newProperty.IsVisibleOnEditor = false;
newProperty.IsVisibleOnViewer = false;
newProperty.Separator = MultiValueSeparator.Unknown;
newProperty.Commit();
Toutes les idées?
La solution
Mon erreur - la deuxième exception était ma propre raison d'un contrôle d'entrée excès de zèle! Cependant le code a également été incorrect. Il faut lire:
var userProfileConfigManager = new UserProfileConfigManager(ServerContext.GetContext(site));
var propertyCollection = userProfileConfigManager.GetPropertiesWithSection();
var newProperty = propertyCollection.Create(true);
newProperty.Name = "NewSection";
newProperty.DisplayName = "NewSection";
newProperty.Commit();
Autres conseils
Il est aussi une bonne idée de définir l'ordre de la section:
// order being the absolute position you want to place section in property list
propertyCollection.SetDisplayOrderBySectionName(newProperty.Name,order);
propertyCollection.CommitDisplayOrder();
ce qui est généralement la raison pour laquelle je fais ce programme en premier lieu, donc je ne dois cliquer haut / bas 1000 fois à l'intérieur du profil de l'utilisateur liste de mappage de propriété SSP :-) - Anders Rask Il y a 0 sec
HTH Anders Rask