Sharepoint PeopleEditor:如何找出返回的用户/组类型?
我有一个PeopleEditor:
它在页面上完美运行,即我可以选择AD用户,Sharepoint组和我想要的任何东西。
问题是我在PeopleEditor上找不到返回什么类型的用户/组的属性。 我们来看下面的例子:
//User: John Doe - mycompanyjondoe is at position 0 //Sharepoint group: "All Site Users" is at position 1 PickerEntity pickerEntity1 = (PickerEntity).peopleEdit.ResolvedEntities[1]; // pickerEntity1.Key = "All Site Users" // pickerEntity1.Claim = null // pickerEntity1.DisplayText = "All Site Users" PickerEntity pickerEntity0 = (PickerEntity).peopleEdit.ResolvedEntities[0]; // pickerEntity1.Key = "mycompanyjondoe" // pickerEntity1.Claim = null // pickerEntity1.DisplayText = "Doe, John"
我可以做一些“hackish”的事情,比如尝试将返回的字符串[sic]值转换为User或Group,并执行某种基于Exception的程序流程( 如果用户存在,请执行此操作,否则如果存在组等 ),但我不会考虑干净的代码。
有没有更好的方法在Sharepoint中选择人员/组或更好的方法来使用PeopleEditor?
使用EntityData
哈希表中的PrincipalType
值:
string principalType = pickerEntity1.EntityData["PrincipalType"].ToString();
我不记得所有可能的值,但User
和SharePointGroup
肯定是其中之一。
moontear的评论:
要列出此实体具有的所有信息, EntityDataElements
数组很有用。 对于SPGroup
它包含SPGroupID
, AccountName
, PrincipalType
。
Janis Veinbergs的评论:
它可能包含来自Microsoft.SharePoint.Utilities.SPPrincipalType
枚举的值,但我还没有测试过它。
干得好:
上述就是C#学习教程:Sharepoint PeopleEditor:如何找出返回的用户/组类型?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
[Flags] public enum SPPrincipalType { None = , User = 1, DistributionList = 2, SecurityGroup = 4, SharePointGroup = 8, All = SharePointGroup | SecurityGroup | DistributionList | User, }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/955931.html