【问题标题】:Best way to programmatically create/maintain SharePoint Quick Launch menu以编程方式创建/维护 SharePoint 快速启动菜单的最佳方式
【发布时间】:2012-02-13 18:57:42
【问题描述】:
我们有一个部署多个列表和页面的解决方案。我们不希望在激活某个功能时自动在“快速启动”菜单上为它们创建链接。
结构可能是这样的。
等等。网站集管理员可能会在“活动”和“非活动”链接之间添加另一个链接。当该功能被停用时,我不想删除项目,但如果再次激活该功能,我不希望再次添加导航:)
是否有可以使用的内置 API?我知道 SPWeb.Navigation.QuickLaunch 和 SPNavigationNode(Collection) 结构等。但是还有其他方法吗?
希望你能帮忙:)
【问题讨论】:
标签:
sharepoint
sharepoint-2010
navigation
【解决方案1】:
你会寻找什么样的其他方式?
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb web = (SPWeb)properties.Feature.Parent;
// Check for an existing link to the list.
SPNavigationNode listNode = web.Navigation.GetNodeByUrl(list.DefaultViewUrl);
// No link, so create one.
if (listNode == null)
{
// Create the node.
listNode = new SPNavigationNode(list.Title, list.DefaultViewUrl);
// Add it to Quick Launch.
web.Navigation.AddToQuickLaunch(listNode, SPQuickLaunchHeading.Lists);
}
}
上面的方法我们用了一段时间,效果还不错。
如果您能告诉我您正在尝试完成哪些操作 SPWeb.Navigation 不会让您做的事情,我可能会提供更多帮助