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;
            }
  • 相关阅读:
    指针和引用作为函数参数传递
    cv::Mat.type()
    Matlab 双目标定工具箱
    invalid conversion from `const void*' to `void*'
    error: 'vector' is not a member of cv
    单例模式与静态成员
    RGBD SLAM V2 +Ubuntu 16.04+ROS KINETIC配置及运行
    EntityFrameworkCore + MySQL 主从复制应用读写分离
    Docker 搭建 MySQL8.0 主从复制环境
    Asp.Net Core 项目中使用 Serilog 输出日志到 Elasticsearch
  • 原文地址:https://www.cnblogs.com/ricky_li/p/3523824.html
Copyright © 2011-2022 走看看