我正在尝试检索 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);
}
}
}
我需要帮助!谢谢!
最佳答案
您可能需要调用 SPSecurity.RunWithElevatedPrivileges(delegate())
如果你愿意,你可以做一个内联委托(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);
}
}
}
});
关于c# - Sharepoint c# 检索所有站点和子站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5637872/