c# – 在sharepoint中按组获取用户

任何人都可以告诉我如何使用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);
    }
}

我希望它能帮助你.

韩国社交协会,佩德罗·何塞·巴蒂斯塔

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...