2012-02-21 10 views
2

私は視覚的なWebPartを作成して、マネージャー名(実際には1つの名前のみ)を選ぶ人エディターコントロールを含んでいます。 コントロールは正常に動作していますが、ボタンクリック中にコードを使用して変数に特定の値を格納したいとします。どのように私はこれを達成することができますか?どんな助け?People Editorコントロールから値を取得しますか?

答えて

5

私は答えを得ました。このアイデアを歓迎します。 以下は、私にとってうまく動作するコードです。このコードは、あなたのために便利です

SPWeb mySite = SPContext.Current.Web; 

    SPListItemCollection listItems = mySite.Lists["myList"].Items; 

    SPListItem item = listItems.Add(); 

    string[] UsersSeperated = pplEditor.CommaSeparatedAccounts.Split(','); 

    SPFieldUserValueCollection UserCollection = new SPFieldUserValueCollection(); 

    foreach (string UserSeperated in UsersSeperated) 

     { 

    mySite.EnsureUser(UserSeperated); 

    SPUser User = mySite.SiteUsers[UserSeperated]; 

    SPFieldUserValue UserName = new SPFieldUserValue(mySite, User.ID, User.LoginName); 

    UserCollection.Add(UserName); 

    } 

item["people"] = UserCollection; 

item.Update(); 
6

・ホープ..

public void btnSave_Click(object sender, System.EventArgs e) 
{ 
    …. 
    //where userPicker is Id of People picker control 
    PickerEntity pe = (PickerEntity)userPicker.Entities[0]; 
    string username = pe.Description; 
    … 
}