任何人都可以告诉我如何使用sharepoint获取某个组内的用户?
所以我有一个包含用户和组的列表.我想检索该列表中的所有用户.是否有一种区分列表项是组还是用户的方法.如果它是一个组,我需要获得该组内的所有用户.
im使用c#,并尝试通过使其成为一个控制台应用程序来做这些事情.
im新的sharepoint和im真的跳进了这个游泳池的深层,任何帮助将是高度赞赏.
干杯..
解决方法
您需要知道的第一件事是,当您有一个包含用户/组字段的列表时,您必须了解其类型.在项目值中有一个用户或组时,字段类型为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); } }
我希望它能帮助你.
韩国社交协会,佩德罗·何塞·巴蒂斯塔