【发布时间】:2011-07-01 22:55:18
【问题描述】:
我在 SharePoint 中遍历我的网站集以进行自定义导航。但我试图只允许迭代从 /sites/ 之后的一层深处输出节点。例如,网站/IT。
目前,我的方法是遍历所有节点。例如,站点/IT/支持。
private void GetSiteChildNodes(string siteName)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
foreach (SPSite site in SPContext.Current.Site.WebApplication.Sites)
{
try
{
if (SPSite.Exists(new Uri(site.Url)) && site.ServerRelativeUrl.StartsWith(String.Format("/sites/{0}/", siteName)))
{
SPWeb subSites = site.RootWeb;
foreach (SPWeb cn in subSites.Webs)
{
navBuilder.AppendFormat("<li><a href=\"{0}\">{1}</a></li>", cn.Url, cn.Title);
}
}
}
finally
{
site.Dispose();
}
}
});
}
从我的代码中可以看出,我使用的是“RootWeb”,因此我忽略了站点内的任何子节点。但这不起作用。
任何帮助将不胜感激。
【问题讨论】:
标签: sharepoint sharepoint-2010 navigation web-parts