[MOSS Tip Of The Day] Comment utiliser le control PeopleEditor
Le control PeopleEditor est un control asp.net qui permet de sélectionner un utilisateur de SharePoint. Si vous souhaitez le mettre dans une page custom, voici comment...
Il faut enregistrer la dll Microsoft.SharePoint dans votre page pour pouvoir profiter de ces controls.
<%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
Ensuite, ajouter le control PeopleEditor...
<SharePoint:PeopleEditor AllowEmpty="false"
SingleLine="true"
ValidatorEnabled="true"
MultiSelect="false"
id="PeopleEditor1"
runat="server"
SelectionSet="User" />
Puis pour récupérer les valeurs dans le code behind...
if (PeopleEditor1.ResolvedEntities.Count == 0)
return;
PickerEntity entity = (PickerEntity)PeopleEditor1.ResolvedEntities[0];
string email = string.Empty;
if (entity.EntityData.ContainsKey("Email") == true)
email = entity.EntityData["Email"].ToString();
Il est possible d' avoir comme propriété sur l'EntityData:
- AccountName
- DisplayName
- Title
- Department
- Email
- SPUserID
- SPGroupID
- SIPAddress
- PrincipalType
Puis pour finir, si vous souhaitez avoir le SPUser corresspondant...
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPWeb web = SPControl.GetContextWeb(this.Context);
SPUser usr = null;
try
{
usr = web.SiteUsers[entity.Key];
}
catch
{
return;
}
if (usr == null)
return;
});
Voila, bon code SP :)
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :