我在SharePoint 2010中有100个团队网站。在最后一刻,我被要求隐藏每个网站上的标签。通过GUI,我可以通过使用“站点设置”下的“导航”选项来完成此操作,但我必须为所有100个站点执行此操作。有没有办法以编程方式执行此操作?或全局通过GUI(我怀疑这是一个选项)?我尝试过使用JQuery,但由于滞后,它不是一个可行的选择。我想也许有可能写一个powershell脚本来做到这一点 - 我还是新的PowerShell。
思考?感谢。
答案 0 :(得分:1)
您应该在控制台应用程序中使用类似的内容:
SPSite site = new Site("http://yoursite");
foreach (SPWeb web in site.AllWebs)
{
foreach(SPNavigationNode node in web.Navigation.TopNavigationBar)
{
if (node.Title == "Test")
{
node.IsVisible = false;
node.Update();
}
}
web.Dispose();
}
site.Dispose();
此脚本将隐藏标题为“Test”的所有节点。您还可以使用Url属性来确定是否需要隐藏节点。</ p>
我希望您需要更改网站集“http://yoursite”中100个子网站的导航。
P.S。请确保您在控制台应用程序中定位.Net Framework 3.5,并在Visual Studio项目属性中指定AnyCPU平台。或者您可能会收到错误消息,说明您的网站未找到。