谁能告诉我如何使用 sharepoint 获取某个组内的用户?
所以我有一个包含用户和/或组的列表。我想检索该列表中的所有用户。有没有办法区分列表项是组还是用户。如果它是一个组,我需要获取该组内的所有用户。
我正在使用 C#,我正在尝试通过使其成为控制台应用程序来完成任务。
我是 Sharepoint 新手,我真的跳入了泳池的最深处,任何帮助将不胜感激。
cheers..
您需要知道的第一件事是,当您有一个包含“用户/组”字段的列表时,您必须了解其类型。当项目值中有一个用户或组时,字段类型为 SPFieldUserValue。但是,如果字段有多个用户/组选择,则字段类型为 SPFieldUserValueCollection。
我假设您的字段允许选择单个用户/组,并且您已经拥有以下对象:
SPSite site;
SPWeb web;
SPListItem item;
现在,我们将检查用户/组的字段值并检索用户列表,无论其类型如何(字段名称为"Users").
SPFieldUserValue usersField = new SPFieldUserValue(mainWeb, item["Users"].ToString());
bool isUser = SPUtility.IsLoginValid(site, usersField.User.LoginName);
List<SPUser> users = new List<SPUser>();
if (isUser)
{
// add a single user to the list
users.Add(usersField.User);
}
else
{
SPGroup group = web.Groups.GetByID(usersField.LookupId);
foreach (SPUser user in group.Users)
{
// add all the group users to the list
users.Add(user.User);
}
}
我希望它对你有帮助。
Tks,
佩德罗·何塞·巴蒂斯塔
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)