Sharepoint c#检索所有站点和子站点

ser*_*gio 7 c# sharepoint

我试图在sharepoint中检索所有站点和子站点但我拒绝访问.

我读到了使用GetSubwebsForCurrentUser()属性,但我得到了相同的消息.

我的代码是下一个

            foreach (SPWebApplication webApp in SPWebService.ContentService.WebApplications)
            {                    
                foreach (SPSite siteCollection in webApp.Sites)
                {
                    foreach(SPWeb web in siteCollection.RootWeb.GetSubwebsForCurrentUser())
                    {
                       dropDownSite.Items.Add(web.Url);
                    }


                }
            }
Run Code Online (Sandbox Code Playgroud)

拜托,我需要帮助!谢谢!

Dar*_*ord 10

你可能需要打电话 SPSecurity.RunWithElevatedPrivileges(delegate())

如果您愿意,可以执行内联委托,例如:

SPSecurity.RunWithElevatedPrivileges(delegate() 
{
    foreach (SPWebApplication webApp in SPWebService.ContentService.WebApplications)
    {                    
        foreach (SPSite siteCollection in webApp.Sites)
        {
            foreach(SPWeb web in siteCollection.RootWeb.GetSubwebsForCurrentUser())
            {
                 dropDownSite.Items.Add(web.Url);
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)