zoukankan      html  css  js  c++  java
  • PeopleEditor的取值及赋值

            /// <summary>
            /// 从PeopleEditor取值
             /// </summary>
            /// <param name="peopleEditor"></param>
            /// <returns></returns>
            public static List<SPPrincipal> GetSPPrincipalsFromPeopleEditor(PeopleEditor peopleEditor)
            {
    
                List<SPPrincipal> rtn = new List<SPPrincipal>();
                SPWeb web = SPContext.Current.Web;
                SPUserCollection users = web.SiteUsers;
                SPGroupCollection groups = web.SiteGroups;
    
                foreach (PickerEntity pe in peopleEditor.ResolvedEntities)
                {
                    string principalType = pe.EntityData["PrincipalType"].ToString();
                    if (principalType == "User" || principalType == "SecurityGroup")
                    {
                        string loginName=pe.Key;
                        foreach (SPUser u in users)
                        {
                            if (u.LoginName == loginName)
                            {
                                rtn.Add(u);
                                break;
                            }
                        }
                            
                    }
                    else if (principalType == "SharePointGroup")
                    {
                        string groupName = pe.Key;
                        foreach (SPGroup g in groups)
                        {
    
                            if (g.Name == groupName)
                            {
    
                                rtn.Add(g);
                                break;
                            }
                        }
                    }
                }
    
                return rtn;
            }
    
            /// <summary>
            /// 为PeopleEditor赋值
             /// </summary>
            /// <param name="peopleEditor"></param>
            /// <param name="spPrincipals"></param>
            public static void SetPeopleEditorValue(PeopleEditor peopleEditor, List<SPPrincipal> spPrincipals)
            {
                string principalsStr;
                if (spPrincipals==null || spPrincipals.Count == 0)
                    principalsStr = "";
                else
                {
                    List<string> principalsStrCollection = new List<string>();
                    foreach (SPPrincipal principal in spPrincipals)
                    {
                        SPUser user = principal as SPUser;
                        SPGroup group = principal as SPGroup;
                        if (user != null || group != null)
                            principalsStrCollection.Add(principal.Name);
                    }
                    principalsStr = string.Join(",", principalsStrCollection.ToArray());
                }
                peopleEditor.CommaSeparatedAccounts = principalsStr;
            }
  • 相关阅读:
    设计模式 ( 十七) 状态模式State(对象行为型)
    Intellij13 IDEA常用快捷键 (mac 10.5 +),优化,使用出现的问题汇总
    Web服务器及Web应用服务器
    阮一峰的网络日志
    双击退出的实现
    完成3DM以后的总结(2).Xutils的简单使用
    完成3DM以后的总结(1).PullToRefresh
    软考之路之j2se总结
    2013-2014年终总结
    牛腩新闻发布系统之获取IP
  • 原文地址:https://www.cnblogs.com/ricky_li/p/3523824.html
Copyright © 2011-2022 走看看