我有一个MvcSiteMap,其中包含一个包含子节点的MvcSiteMapNode父级。父节点有一个url,子节点有url。显示时,当鼠标悬停在父节点上时,子节点将显示在其下方,但是当单击父节点时,子节点将消失,但网页不会导航到父节点的URL。
<mvcSiteMapNode title="Im a Parent" url="~/ParentUrl" >
<mvcSiteMapNode title="Im Child 1" url="~/ChildUrl1" />
<mvcSiteMapNode title="Im Child 2" url="~/ChildUrl2" />
</mvcSiteMapNode>
是什么导致页面无法导航?
编辑(图片示例):
我的假设是点击事件被劫持以使子节点下拉消失并且不被传递
在点击之前将鼠标悬停在父节点上:
点击后,下拉列表消失,没有导航到“〜/ ParentUrl”
答案 0 :(得分:1)
这与MvcSiteMapProvider没有任何关系,但它可能与Twitter Bootstrap的功能有关(假设您使用的是Bootstrap)。 Twitter Bootstrap旨在与触摸设备一起使用,因此默认情况下主链接不可点击(因为触摸它应该打开菜单,而不是导航到链接)。
但有人想出a hack来让它工作,假设你不想支持触控设备。
我建议您重新考虑您的设计,因为触摸设备支持这些天非常重要。一种可能的解决方案是使用2个链接 - 一个(带有向下箭头)打开菜单,一个用于导航到链接。
请注意,您可以修改/Views/Shared/DisplayTemplates
目录中的模板,以输出所需的任何HTML / CSS,以使其工作为described here。