2014-10-20 162 views
0

我已经看到了几个其他问题解决这个问题,但没有一个解决我遇到的问题。Sitemapnode父菜单项不可点击

如果您从网站地图节点中删除url属性,它仍然是可点击的,即它仍然呈现为标签,因此可以点击并触发回发。我已经为我的菜单中的'父'网站地图节点完成了这项工作,并且导致出现问题,因为我不希望点击这些项目时引发回发。

在代码中,我做了父菜单项“selectable = false”,它们呈现为一个跨度而不是锚点,但是造型完全不同,我甚至不能进入“子”菜单项因为当我尝试将鼠标悬停在它们上方时它们会消失。

有没有办法使'父'sitemapnode项目不可点击,非锚点标签,以便没有回发被触发,如果他们被点击?

我的代码:Web.sitemap中

<siteMapNode title="Maintenance" description="Admin functions" > 
    <siteMapNode url="~/UserAdmin/UserAdmin.aspx" title="Manage Users" roles="Admin" description="Manage Users" /> 
    <siteMapNode url="~/UserAdmin/UserDetails.aspx?mode=new" title="Create User" roles="Admin" description="Create User"/> 
</siteMapNode> 

C#

if (node.Title == "Maintenance") 
    e.Item.Selectable = false; 

我已经开始寻找到黑客对我的母版样式应用该锚标记用于类设置selectable = false时呈现的跨度。但我宁愿不必。

在此先感谢

回答

0

SiteMapNode取出URL标记,在Web.Config添加

SecurityTrimmingEnabled = false 

这将使该菜单项不可点击。