1

我在我的 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"]我得到那个列表一样。

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

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

4

1 回答 1

0

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

或者

using (SPWeb oWebsite = SPContext.Current.Site.URL)
{
    SPGroupCollection collGroups = oWebsite.Groups;
    foreach (SPGroup oGroup in collGroups)
    {
        Response.Write(SPEncode.HtmlEncode(oGroup.Name) + "<BR>");
    }
}
于 2012-08-23T09:05:29.023 回答