如何使用VS2010在"人员或组"字段中插入数据?

nir*_*rav 1 c# asp.net sharepoint

现在,在我的程序中,我在SharePoint中创建了一个列,其中包含"人员或组"

- 允许多项选择:.

现在在C#中,我创建了一个表单,然后从People Picker中获取数据.

我在列表中插入该数据:

像这样:

{
    string strName = "8;1001";    //User.Id and User.LoginName of **single** user 
    objItem["name"] = strName;
}
Run Code Online (Sandbox Code Playgroud)

现在这很好用.但我不知道如何为多个用户插入.

我通过分隔" ;(分号) " 尝试了它,但它给出了无效的查找值错误.

像这样:

{
    string strName = "8;1001;2;2001";    //User.Id and User.LoginName of **2 users**
    objItem["name"] = strName;
}
Run Code Online (Sandbox Code Playgroud)

小智 5

这是详细代码: -

void btnSubmit_Click(object sender, EventArgs e)
{
 //ctrlpplPicker is object of PeopleEditor
 string[] userarray = ctrlpplPicker.CommaSeparatedAccounts.ToString().Split(',');;
 SPFieldUserValueCollection usercollection = new SPFieldUserValueCollection();

 for (int i = 0; i < userarray.Length; i++)
 {
     SPFieldUserValue usertoadd = ConvertLoginAccount(userarray[i]);
     usercollection.Add(usertoadd);
 }

 SPList list = SPContext.Current.Web.Lists["user tasks"];
 SPListItem item = list.Items.Add();
 item["Team"] = usercollection;
 item.Update();

}
public SPFieldUserValue ConvertLoginAccount(string userid)
{
 SPFieldUserValue uservalue;
 using (SPSite site = new SPSite(SPContext.Current.Site.Url))
 {
     using (SPWeb web = site.OpenWeb())
     {
         SPUser requireduser = web.EnsureUser(userid);
         uservalue = new SPFieldUserValue(web, requireduser.ID, requireduser.LoginName);
     }
 }
 return uservalue;
}
Run Code Online (Sandbox Code Playgroud)