我们有一个部署了许多列表和页面的解决方案。当激活某个功能时,我们不会自动在“快速启动”菜单上为它们创建链接。
结构可能是这样的。
等等。网站集管理员可能会在“活动”和“非活动”链接之间添加另一个链接。当该功能被停用时,我不想删除这些项目,但如果再次激活该功能,我不希望再次添加导航:)
是否有可以使用的内置API?我知道SPWeb.Navigation.QuickLaunch和SPNavigationNode(Collection)结构等。但还有另一种方法吗?
希望你能提供帮助:)
答案 0 :(得分:5)
您还会寻找其他什么样的方式?
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不会让你这么做,我可能会有更多的帮助