我在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"]
这样的索引器访问它,我会得到它列表。
不知何故,我可以访问我的网站集列表,但不能访问当前网站的列表。
我不确定是否存在某些权利/权限问题或问题是什么。如果可能,请提供参考。
答案 0 :(得分:0)
如果您有SPContext
,则可以使用SPContext.Current.Site.WebApplication.Sites
来获取此网站集列表。从SPSite
开始,所有网站都有AllWeb
s属性,SiteGroups
有RootWeb
个属性列表。请记住,子站点中没有组的概念
OR
using (SPWeb oWebsite = SPContext.Current.Site.URL)
{
SPGroupCollection collGroups = oWebsite.Groups;
foreach (SPGroup oGroup in collGroups)
{
Response.Write(SPEncode.HtmlEncode(oGroup.Name) + "<BR>");
}
}