2011-11-17 50 views

回答

2

是的,你可以訪問SPUser對象(持有email property)是這樣的:

var accountName = peoplePicker.Accounts[0]; 

//this will create a new account on SharePoint if a user with the given accountName does not exist 
var user = web.EnsureUser(accountName); 

lblEmail = user.Email; 

peoplePicker顯然是人們選擇器控制,網絡是當前Web你在實例(可以也可以使用SPContext.Current.Web的網頁)。

沒有特定事件觸發的,當你進入的人員選取一個用戶名並回車,但是你可以將AutoPostBack屬性設置爲true,然後觸發一個通用的回傳,你可以通過Page_Load中處理...

定義PeoplePicker在你的標記如下:

<SharePoint:PeopleEditor AutoPostBack="true" ID="peUser" runat="server" /> 

在Page_Load你只需檢查人員選取是否擁有一個(或多個,取決於)與帳戶財產帳戶,然後執行你的任務...

希望這有助於

+0

感謝,在這裏我需要寫這個code.once的用戶保證它應該填充電子郵件在另一個標籤。我沒有任何事件來處理它,一旦用戶確保它應該發生。 – TinTin

+0

編輯我的答案 – int32

+0

如果(Page.IsPostBack){ 如果(peopleEditor.IsValid) { 對(INT I = 0;我 TinTin

0

如果你想要的是電子郵件地址,這應該工作:

if (pectrl.ResolvedEntities.Count > 0) 
{ 
    PickerEntity pe = (PickerEntity)pectrl.ResolvedEntities[0]; 
    string email = pe.EntityData[PeopleEditorEntityDataKeys.Email].ToString(); 
} 
相關問題