【问题标题】:SharePoint 2010 unable to get my custom groupsSharePoint 2010 无法获取我的自定义组
【发布时间】:2013-10-25 00:58:11
【问题描述】:

我在我的 SharePoint 2010 发布网站中创建了几个组。我有一些我正在尝试获取的应用程序页面

using (SPSite spsite = new SPSite(SPContext.Current.Site.Url))
{
    using (SPWeb curWeb = spsite.OpenWeb())
    {   
        SPGroupCollection groups = curWeb.Groups;
    }
}

它显示现有(默认)网站组,但不显示我的组。

请提出一些带有问题定义的解决方案。我不知道为什么会这样,因为当我尝试使用 GetList("list name") 函数访问我的任何列表时,我永远不会得到它,而如果我尝试通过像 Lists["list name"] 这样的索引器访问它,我会得到那个列表。

不知何故,我可以访问我的网站集列表,但不能访问当前网站。

我不确定是否存在一些权利/权限问题或问题可能是什么。如果可能,请提供参考。

【问题讨论】:

    标签: sharepoint


    【解决方案1】:

    如果您有SPContext,则可以使用SPContext.Current.Site.WebApplication.Sites 获取此网站集列表。在SPSite 中,所有网站都有AllWebs 属性,RootWeb 中的SiteGroups 用于组列表。请记住,子站点中没有组的概念

    using (SPWeb oWebsite = SPContext.Current.Site.URL)
    {
        SPGroupCollection collGroups = oWebsite.Groups;
        foreach (SPGroup oGroup in collGroups)
        {
            Response.Write(SPEncode.HtmlEncode(oGroup.Name) + "<BR>");
        }
    }
    

    【讨论】:

    • SPWeb.Groups 返回 Web 中至少具有一个权限集的所有组。然而,SPWeb.SiteGroups 将返回所有组
    • 谢谢赛义德!您评论的最后一行帮助我解决了这个问题。 “但是,SPWeb.SiteGroups 将返回所有组”我创建的组没有分配任何权限。所以这就是没有在组列表中列出的问题的原因。
    猜你喜欢
    • 2016-07-25
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多