2010-05-25 45 views
3

我的Web.sitemap文件中有几个项目依赖于查询字符串或会话变量。 我不希望这些项目出现在我的菜单中。ASP.net菜单只显示Web.sitemap中的某些节点

有没有办法将它从菜单中隐藏,但仍然位于站点地图(用于站点路径控制)。

感谢

回答

1

我用这篇文章的时候,我想阻止出现一个节点我发现这篇文章大:

http://runtingsproper.blogspot.com/2009/11/i-bet-you-didn-know-that-adding-custom.html

ASP.NET确实有功能来控制你想要的节点显示,但我相信这是绑定到会员/角色。

+0

谢谢。真棒。 – Mike 2010-05-25 22:43:44

+0

谢谢Dal,非常好的资源。 – 2011-12-21 20:55:59

+0

不幸的是,我无法访问您提供的链接。浏览器显示“网络错误(dns_unresolved_hostname)”。你知道另一个链接吗? – Matt 2015-06-12 09:03:18

0

我相信你使用属性秀=“假”,就像这样:

<siteMapNode show="false" url="~/admin/submissionsaddedit.aspx" title="Add/Edit Submission" description="" roles="Administrator, Shortlister, Moderator"/> 
+0

这没有做任何事情:S 您确定这是否行? – Mike 2010-05-25 22:23:48

+0

对不起,我从一个我不熟悉的项目中抓住了这个。看起来在实际控件中有一些代码显示检查“show”属性的导航:即,如果“node [”show“]!= null && node [”show“],则跳过它。ToString()= =“false”“ – Carson63000 2010-05-25 23:16:19

1

解决它......

我只是做了我想隐藏到的SiteMapNode的标题为“[隐藏]”。在.cs文件中,站点地图控件坐在我做了这个...

protected void rmMenu_ItemDataBound(object sender, RadMenuEventArgs e) 
{ 
    if (e.Item.Text == "[hidden]") 
    e.Item.Remove(); 
}