0

我已经看到其他几个问题可以解决这个问题,但没有一个能解决我遇到的问题。

如果您从站点地图节点中删除 url 属性,它仍然是可点击的,即它仍然呈现为标签,因此可以被点击并触发回发。我已经为菜单中的“父”站点地图节点执行了此操作,这会导致问题,因为我不希望在单击这些项目时触发回发。

在代码中,我将父菜单项设置为“selectable = 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;

我已经开始研究修改我的母版页上的样式,以将锚标记上使用的类应用于设置 selectable=false 时呈现的跨度。但我宁愿不必。

提前致谢

4

1 回答 1

0

删除URL标签中的SiteMapNodeWeb.Config添加的

SecurityTrimmingEnabled = false

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

于 2015-04-14T06:28:26.363 回答