我已经看到其他几个问题可以解决这个问题,但没有一个能解决我遇到的问题。
如果您从站点地图节点中删除 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 时呈现的跨度。但我宁愿不必。
提前致谢