2014-06-13 65 views
0

我有一個MvcSiteMap與包含子節點的MvcSiteMapNode父項。父節點有一個url,子節點有urls。顯示時,當鼠標懸停在父節點上時,子節點出現在其下方,但是當單擊父節點時,子節點消失,但網頁不會導航到父節點的URL。單擊MvcSiteMap父節點切換DropDown但不導航到URL

<mvcSiteMapNode title="Im a Parent" url="~/ParentUrl" > 
    <mvcSiteMapNode title="Im Child 1" url="~/ChildUrl1" /> 
    <mvcSiteMapNode title="Im Child 2" url="~/ChildUrl2" /> 
</mvcSiteMapNode> 

什麼導致頁面不導航?

編輯(例如有圖片):

我的假設是,點擊事件被劫持使孩子節點下拉列表中消失,而不是被上

懸停在父節點點擊前通過:

enter image description here

點擊後,下拉列表中消失,沒有導航到 「〜/ ParentUrl」

enter image description here

回答

1

這實際上與MvcSiteMapProvider沒有任何關係,但它可能與Twitter Bootstrap函數(假設您使用的是Bootstrap)有關。 Twitter Bootstrap旨在與觸摸設備一起使用,因此默認情況下主鏈接不可點擊(因爲觸摸它應該打開菜單,而不是導航到鏈接)。

但有人想出a hack讓它工作,假設你不想支持觸摸設備。

我建議你重新考慮你的設計,因爲這些天觸摸設備的支持是非常重要的。一種可能的解決方案是使用2個鏈接 - 一個(使用向下箭頭)打開菜單,另一個導航到鏈接。

請注意,您可以修改/Views/Shared/DisplayTemplates目錄中的模板以輸出任何需要使其工作爲described here的HTML/CSS。

+0

謝謝,這工作。並感謝您對移動設備的建議/評論。我們在手機上使用完全不同的菜單設計,所以目前我們並不關心這一點。 –