我正在使用
以专业方式创建SharePoint网站SPWeb spWeb = spSite.AllWebs.Add(...);
我需要运行哪些代码来设置spWeb以关闭“在导航中显示页面”选项?
答案:
publishingWeb.IncludePagesInNavigation = false;
答案 0 :(得分:7)
我不确定自己,但我找到了this:
修改导航是另一种常见的做法 品牌推广任务,因为它会影响什么 用户可以查看以及如何继续操作 通过网站层次结构。该 Microsoft.SharePoint.Publishing 命名空间暴露了几个类 定位发布网站 基础设施,例如PublishingWeb 和PublishingPage。使用这些 上课时,我们可以轻松修改 每个站点的导航。如果你想 子Web显示为根级别 全球导航中的网站,首先转向 从父站点继承, 像这样:
publishingWeb.InheritGlobalNavigation = false;
您可能还想隐藏所有网站 来自全球导航的页面。设置 IncludePagesInNavigation为false 隐藏网站中的所有页面, 不管是否 PublishingPage.IncludeInGlobalNavigation property设置为true
// do not show pages in navigation
publishingWeb.IncludePagesInNavigation = false;
如果您正在处理默认网站 不从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显示了如何操作 添加内部链接,外部链接, 以及全球导航的标题 酒吧。这个例子解决了一些问题 SPNavigation的属性 影响是否链接的类 在新窗口中打开以及如何操作 处理空URL。
答案 1 :(得分:2)
对于SP 2010使用以下...
publishingWeb.Navigation.GlobalIncludePages = false;