sab*_*abi 4 .net c# sharepoint sharepoint-2010
我想用C#删除SP2010中快速启动的所有链接.我认为这样做会,但不知怎的,他们不会被删除:
SPNavigationNodeCollection n = subSite.Navigation.QuickLaunch;
foreach (SPNavigationNode node in n)
{
node.Delete();
}
Run Code Online (Sandbox Code Playgroud)
我能够添加链接,但不能删除它们:/任何想法?谢谢
编辑:啊得到了修复:)
我不能写node.Delete()我只需要写n.Delete(node)
Edit2:hm不知何故我没有删除所有的链接.如果我运行代码2-3次,那么所有这些都被删除,很奇怪
Ron*_* SP 12
试试这段代码:
SPNavigationNodeCollection nodes = web.Navigation.QuickLaunch;
for(int i = nodes.Count - 1; i >= 0; i--)
{
nodes[i].Delete();
}
Run Code Online (Sandbox Code Playgroud)
请参阅此链接:http://www.mtelligent.com/journal/2007/10/7/customizing-the-quick-launch-menu-with-spnavigationnode-spna.html
小智 5
我自己也经历过同样的问题.
通过从下往上删除,我能够删除快速启动上的链接.我的理论是在快速启动时删除链接后向上移动集合,因此当链接[0]被删除时,链接[1]变为链接[0].然后,当试图删除链接[1]时,链接[2]实际上被删除.
你的问题是,在某些时候link [i]不存在并且错误'无法完成此操作'被抛出,但你还没有删除所有链接.
//Iterate from the bottom of the links to the top
for (i = numLinks-1; i >=0 ; i--)
{
links[i].Delete();
}
Run Code Online (Sandbox Code Playgroud)