1、注册Microsoft.SharePoint.WebControls
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
<%@ Register TagPrefix="wssawc" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
2、拖控件
<wssawc:PeopleEditor ID="pplEditor_MyAssistantsName" Height="30px" runat="server" SelectionSet="User" Width="350px" MultiSelect="false" />
属性的解释可以参考http://karinebosch.wordpress.com/sharepoint-controls/peopleeditor-control/
3、赋值、取值
Get Value from UserProfile
pplEditor_MyAssistantsName.CommaSeparatedAccounts = string.Format(u["MyAssistantsName"].Value != null ? u["MyAssistantsName"].Value.ToString() : "");
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
string[] UsersSeperated = peUserEditor.CommaSeparatedAccounts.Split(',');
SPFieldUserValueCollection UserCollection= new SPFieldUserValueCollection();
foreach (string UserSeperated in UserSeperated)
{
SPUser User = Web.SiteUsers[“UserField”];
SPFieldUserValue UserName = new SPFieldUserValue(Web, User.ID, User.LoginName);
UserCollection.Add(UserName);
}
Item["UserField"] = UserCollection
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
SPFieldUserValueCollection Users = new SPFieldUserValueCollection(Web, Item["UserField"].ToString());
string UsersCommaDelimited = "";
foreach (SPFieldUserValue User in Users)
{
if (UsersCommaDelimited == "")
UsersCommaDelimited = User.User.LoginName;
else
UsersCommaDelimited += "," + User.User.LoginName;
}
peUserEditor.CommaSeparatedAccounts = UsersCommaDelimited;
4、在infopath中添加peoplepicker控件参见