2008-10-23 50 views

回答

7

不能肯定自己,但我能找到this

修改导航是另一种常见 品牌的任务,因为它会影响什么 用户可以看到以及他们如何通过网站层次结构继续执行 。 Microsoft.SharePoint.Publishing 命名空间公开几个类,这些类 定位到发布站点 基础结构,例如PublishingWeb 和PublishingPage。使用这些 类,我们可以轻松修改每个站点的导航。如果你想 孩子Web上显示为根级别 网站在全球导航,第一轮 断继承自父网站, 像这样:

publishingWeb.InheritGlobalNavigation = false; 

您还可能希望隐藏全球导航全部网站 页面。 IncludePagesInNavigation设置为false 隐藏在网站 无论如果你正在处理的默认网站 PublishingPage.IncludeInGlobalNavigation 属性是否设置为true

// do not show pages in navigation 
publishingWeb.IncludePagesInNavigation = false; 

,唐”的所有页面, t从PublishingWeb继承, 仍然可以从全局导航栏中隐藏这些 网站。 例如,如果您使用的协作 门户模板创建网站 收集和要排除 全球导航新闻网站, 该网站添加到网站的 __GlobalNavigationExcludes属性:

string globalNavExcludes = String.Empty; 
SPWeb webSite = MSDNSiteCollection.RootWeb; 
// _GlobalNavigationExcludes property contains a delimited string of 
// GUIDs identifying the Id of each site to be excluded from global 
// navigation 

if (webSite.AllProperties.ContainsKey("__GlobalNavigationExcludes")) { 
    globalNavExcludes = 
    webSite.AllProperties["__GlobalNavigationExcludes"].ToString(); 
} 

SPWeb newsSite = MSDNSiteCollection.AllWebs["News"]; 
// string is delimited "{GUID};{GUID};", 
// use format code B to convert to string 
globalNavExcludes += String.Concat(currentWeb.ID.ToString("B"), ";"); 

webSite.AllProperties["__GlobalNavigationExcludes"] = globalNavExcludes; 
webSite.Update(); 

将导航节点直接添加到 SPNavigationNodeCollection是一种很好的 方式,只显示您想要的节点 以及将节点和链接分组到 外部网站。图10显示了如何向 添加内部链接,外部链接, 和标题到全局导航 栏。此示例解决了 中某些影响在新窗口中是否打开链接 以及如何 处理空URL的SPNavigation 类的属性。

2

对于低于2010使用SP ...

publishingWeb.Navigation.GlobalIncludePages = FALSE;