Sitemapnode父菜单项不可单击

本文关键字:单击 菜单项 Sitemapnode | 更新日期: 2023-09-27 18:27:15

我看到了其他几个解决这个问题的问题,但都没有解决我的问题。

如果你从站点地图节点中删除url属性,它仍然是可点击的,即它仍然呈现为一个标记,因此可以点击并触发回发。我在菜单中为"父"站点地图节点做了这件事,这会引起问题,因为我不希望在单击这些项目时触发回发。

在代码中,我将父菜单项设置为"selected=false",它们呈现为跨度而不是锚点,但样式完全不同,我甚至无法访问"子"菜单项,因为当我试图将鼠标悬停在它们上面时,它们会消失。

有没有一种方法可以使"父"站点地图节点项不可点击,不带锚标记,这样在点击它们时就不会触发回发?

我的代码: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;

我已经开始研究破解我主页上的样式,将锚标记上使用的类应用于设置selected=false时呈现的跨度。但我宁愿不用。

提前感谢

Sitemapnode父菜单项不可单击

删除SiteMapNode中的URL标记,并在Web.Config中添加

SecurityTrimmingEnabled = false

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