Domanda

Sto cercando di creare una nuova sezione profilo utente a livello di codice, ma senza successo. Il problema è con la Tipo di proprietà della classe di .

Quando ho specificare un valore come la "sezione" per questo, ricevo l'eccezione tipo di dati non è disponibile per la sezione . Quando non si specifica un valore, ricevo l'eccezione UserProfilePropertySettings oggetto deve avere un valore impostato per 'Tipo' .

Ecco il codice:

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();

Tutte le idee?

È stato utile?

Soluzione

Il mio errore - la seconda eccezione è stata la mia causa di controllo di ingresso troppo zelante! Tuttavia il codice è stato anche corretto. Dovrebbe essere visualizzato:

var userProfileConfigManager = new UserProfileConfigManager(ServerContext.GetContext(site));

var propertyCollection = userProfileConfigManager.GetPropertiesWithSection();

var newProperty = propertyCollection.Create(true);
newProperty.Name = "NewSection";
newProperty.DisplayName = "NewSection";

newProperty.Commit();

Altri suggerimenti

E 'anche una buona idea per impostare l'ordine della sezione:

// order being the absolute position you want to place section in property list 
propertyCollection.SetDisplayOrderBySectionName(newProperty.Name,order);
propertyCollection.CommitDisplayOrder();

Questo è di solito il motivo per cui faccio questo a livello di codice, in primo luogo, in modo da non devo cliccare su / giù 1000 volte all'interno della lista di mapping proprietà del profilo utente in SSP :-) - Anders Rask 0 secondi fa

hth Anders Rask

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top