从People Editor Control获取价值?

时间:2012-02-21 11:21:25

标签: c# sharepoint peoplepicker

我创建了一个可视化WebPart,其中包含一个人员编辑器控件来选择管理器名称(实际上只有一个名称)。 控件工作正常,但我想在按钮单击期间使用代码将特定值存储到变量。我怎么能做到这一点?有什么帮助吗?

2 个答案:

答案 0 :(得分: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;
   …
}

答案 1 :(得分: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();