获得<SharePoint:PeopleEditor> 的值

 

有时候页面是要放一个PeopleEditor,然后赋值给item。当然最开始的时候想法应该是超级简单,直接把控件的value赋值给item就完事了。结果根本就不是那么一回事。

网上有人提供了方法,写了一大堆,很复杂,两眼没看懂,又感觉怎么不像自己要的。没办法,还是要自己弄一下。

不过还是要承认借鉴了网上通用的方法,只是在SharePoint2010有点变化。

页面加控件:

<SharePoint:PeopleEditor ID="people" runat="server" selectionset="User" MultiSelect="false" />

只选一个人的PeopleEditor控件

下面的方法是拿控件里的值。和网上sharepoint2007版本的有点不同,在string DisplayName行

public static string GetPeopleEditorValue(PeopleEditor objPeopleEditor)
        {
            string strResult = string.Empty;
            ArrayList list = objPeopleEditor.ResolvedEntities;
            
            foreach (Microsoft.SharePoint.WebControls.PickerEntity p in list)
            {
                string userId = p.EntityData["SPUserID"].ToString();
                string DisplayName = p.DisplayText.ToString();
                strResult += userId + ";#" + DisplayName;
                strResult += ",";
            }
            return strResult;
        }

赋值:

SPContext.Current.ListItem["人"] = GetPeopleEditorValue(people);

如果PeopleEdit里面没有选人,则是空值,ListItem["人"]就是空值,不会报什么错误的。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值