MOSS 게시 사이트 용 사이트 맵을 만들려고하고 있는데 두 가지 방법이 있지만 두 가지 방법이 있습니다. (예를 들어, 목록, surverys)셰어 포인트 만들기/MOSS 사이트 맵
내 첫 번째 방법은 이미 생성 멋지게 캐시 된 PortalSiteMapProvider, ...
PublishingWeb rootWeb = PublishingWeb.GetPublishingWeb(SPContext.Current.Site.RootWeb);
//Get the URL of the default page in the web
string defaultPageUrl = rootWeb.DefaultPage.ServerRelativeUrl;
PortalListItemSiteMapNode webNode = (PortalListItemSiteMapNode)PortalSiteMapProvider.CurrentNavSiteMapProviderNoEncode.FindSiteMapNode(defaultPageUrl);
HttpContext.Current.Response.Output.WriteLine("Top Level: " + webNode.Title.ToString() + "<br />");
//iterate through each one of the pages and subsites
foreach (SiteMapNode smnTopLevelItem in webNode.ParentNode.ChildNodes)
{
HttpContext.Current.Response.Output.WriteLine(smnTopLevelItem.Title.ToString() + "<br />");
//if the current sitemap has children, create a submenu for it
if (smnTopLevelItem.HasChildNodes)
{
foreach (SiteMapNode smnChildItem in smnTopLevelItem.ChildNodes)
{
HttpContext.Current.Response.Output.WriteLine(smnChildItem.Title.ToString() + "<br />");
}
}
}
HttpContext.Current.Response.End();
를 사용하는 것입니다하지만이 사이트 모음의 모든 것을 반환하는 것 같다. 나는 셰어 포인트 웹을 보여주고 싶다.
내 다른 접근 방법은 ..이 코드 조각을 사용하여 떨어져 단순 목록에있는 모든 웹을 반환하는 문제에서 완벽
SPSite siteCollection = new SPSite("http://example.org");
SPWebCollection sites = siteCollection.AllWebs;
foreach (SPWeb site in sites)
{
Console.WriteLine(site.Title.ToString() + " " + site.ServerRelativeUrl.ToString());
}
했다.
이상적으로 나는 하위 웹을 보여주기 위해 들여 쓰기를 추가 할 수 있기를 원합니다.
확인 멋진, 내가 PortalSiteMapProvider을 사용하고 싶습니다하지만 난 단지 웨브하기 위해 출력을 제한하는 방법을 확실 해요. – Rob