Asp.net mvc 带有MvcSiteMapProvider的子菜单

Asp.net mvc 带有MvcSiteMapProvider的子菜单,asp.net-mvc,asp.net-mvc-5,mvcsitemapprovider,Asp.net Mvc,Asp.net Mvc 5,Mvcsitemapprovider,目前我正在使用MvcSiteMapProvider来提供我的站点地图。我现在将菜单转换为使用相同的XML。我用以下代码创建了一个MyMenu.cshtml @model MvcSiteMapProvider.Web.Html.Models.MenuHelperModel @using MvcSiteMapProvider.Web.Html.Models <div class="navbar-collapse collapse"> <ul class="nav navb

目前我正在使用MvcSiteMapProvider来提供我的站点地图。我现在将菜单转换为使用相同的XML。我用以下代码创建了一个MyMenu.cshtml

@model MvcSiteMapProvider.Web.Html.Models.MenuHelperModel
@using MvcSiteMapProvider.Web.Html.Models

<div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
        @foreach (var node in Model.Nodes) { 
            <li>@Html.DisplayFor(m => node)</li>
        }
    </ul>
    @Html.Partial("_LoginPartial")
</div>
我正在尝试让嵌套菜单工作。因为我有一些下拉菜单项有子目录。比如说

--主菜单

------子菜单


实现这一点的最佳方法是什么?

菜单模板分为3个单独的部分,因此您需要通过在自定义模板中指定附加模板来覆盖每个部分(而不仅仅是主部分)。有关一组模板的信息,请参见。然后,只需按照您希望的方式修改HTML即可

@Html.MvcSiteMap().Menu("MyMenu")