如果一个列表中有一个字段类型为用户或用户组,并且设置为用户,允许多值的话,那么用代码进行更新的时候就必须将这个字段的值赋成SPFieldUserValueCollection类型,以下代码即为从PeopleEditor控件中取出多个用户并返回一个SPFieldUserValueCollection类型的值:

 1         /// <summary> 2         /// 从人员选取器中获取多用户并返回SPFieldUserValueCollection类型 3         /// </summary> 4         /// <param name="pe">人员选取器</param> 5         /// <returns></returns> ToString:user1ID;#user1Name;#user2ID;#user2Name 6         public SPFieldUserValueCollection GetUsersValue(PeopleEditor pe) 7         { 8             SPFieldUserValueCollection result = new SPFieldUserValueCollection(); 9             using (SPSite mySite = new SPSite(SPContext.Current.Site.ID))10             {11                 using (SPWeb myWeb = mySite.RootWeb)12                 {13                     if (pe.CommaSeparatedAccounts != "")14                     {15                         foreach (string item in pe.CommaSeparatedAccounts.Split(','))16                         {17                             SPUser u = myWeb.EnsureUser(item);18                             SPFieldUserValue uservalue = new SPFieldUserValue(myWeb, u.ID, u.Name);19                             result.Add(uservalue);20                         }21                     }22                 }23             }24             return result;25         }

更新的时候直接将item["user"]=GetUsersValue(pe);然后Update一下即可。

另外如果需要通过代码将多用户赋值给PeopleEditor控件,只需要设置PeopleEditor控件的CommaSeparatedAccounts属性为User1Name,User2Name这样即可,即为每个用户的DisplayName,然后之间用“,”隔开就可以了,代码如下:

1 pe.CommaSeparatedAccounts="User1Name,User2Name";

转载于:https://www.cnblogs.com/leolis/archive/2012/01/05/2313786.html

从PeopleEditor控件中取出多用户并更新到列表相关推荐

  1. JavaScript将iframe中控件的值传到主页面控件中

    主要是通过在主页面定义一个传输数据的函数GetData(data),然后在iframe嵌入页面中通过parent.GetData(data),这样即可在GetData实现将data进行处理即可. 现在 ...

  2. 运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线、圆、人物轮廓及写字的功能。

    运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线.圆.人物轮廓及写字的功能. 给大家看看效果吧 演示写字视频在下: VID 首先放置了诸多控件 在给控件 ...

  3. C#+AE 调整TOCControl控件中图层的显示顺序

    基本思路如下:利用鼠标左键将需要调整顺序的图层移动至目标位置. ①需要涉及到TOCControl的OnMouseDown事件来获取要调整的图层, ②OnMouseUp事件获得目标图层和索引号, ③再利 ...

  4. 用户控件中动态加入脚本引用

    用户控件中动态加入脚本引用,添加前先判断是否已经有引用,没有才添加. //××××.ascx protected void Page_Load(object sender, EventArgs e){ ...

  5. [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十三:在DetailsView控件中使用TemplateField...

    导言 比起BoundField.CheckBoxField.HyperLinkField以及其他的那些数据字段控件(data field controls)来说,TemplateField提供了一种高 ...

  6. onmouseover和onmouseout在Repeater控件中应用

    如果你曾看过这篇,http://www.cnblogs.com/insus/articles/1411057.html ,它是在GridView控件中演示,但是它的方法在Repeater控件是无法复制 ...

  7. 关于从页面中获取用户控件中的其它控件(如DropDownList)事件的方法

    在项目中经常把一些经常使用的代码做成用户控件以提高代码的可重用性, 一个经常遇到的就是在页面中调用用户控件中的服务器控件的事件,下面给出简单的代码示列. 我们在一个用户控件(MaterialRepor ...

  8. 在用户控件中用户登录后台脚本判断

    在用户控件中用户登录后台脚本判断写法  if (!IsPostBack)         {                         imagelogin.Attributes.Add(&qu ...

  9. html怎样添加日历控件,向日历控件中添加自定义内容

    向日历控件中添加自定义内容 String[][] holidays; void Page_Load(Object Sender, EventArgs e) { holidays = new Strin ...

最新文章

  1. c语言inline详解
  2. BFS:走出迷宫并输出最小步数
  3. 自己手写HashMap——红黑树的Java实现
  4. MySQL主从失败 错误Got fatal error 1236解决方法
  5. Linux与Windows数据传输
  6. python3装饰器例子_python 装饰器(三):装饰器实例(一)
  7. Mask R-CNN论文理解
  8. 利用Xcode在Mac写第一个C++ project
  9. 读取gdb中的图层类型_ArcGIS读取gdb内要素
  10. 【追一科技】NLG技术:文本生成技术多样化应用的探索之路
  11. php header带session,PHP接口跨域header头以及Session跨域方法
  12. 美赛论文格式基本要求
  13. 什么是模拟信号?数字信号?区别是什么?它们又是如何完成转换的?
  14. Unable to obtain current patch information due to error: 20001, ORA-20001: Latest xml inventory is n
  15. android P adb shell dumpsys battery 使用
  16. html5画智利国旗,智利国旗与得州州旗,你能分的清么?
  17. nginx的location匹配字段后斜杠的作用
  18. 图片img标签设置默认图片
  19. “玛莎拉蒂狂撞宝马”最新后续:你以为的富养,99%都是错的!
  20. 集体备课模板_集体备课记录模板

热门文章

  1. 深信服C/C++技术一面二面20180924
  2. 【C++11新特性】 C++11智能指针之unique_ptr
  3. 汇编语言的相对跳转和绝对跳转以及反汇编代码解析
  4. 阿里P7亲自教你!我的头条面试经历分享,完整PDF
  5. 揭秘!双非渣本Android四年磨一剑,学习路线+知识点梳理
  6. java 中的event_Java中this与event有什么不同
  7. 课程一(Neural Networks and Deep Learning),第四周(Deep Neural Networks)—— 0.学习目标...
  8. JavaScript覆盖率统计实现
  9. python基础-第三篇-函数编程
  10. oracle 窗口函数 (keep)