Asp.net mvc 如何使用MVCSiteMap创建引导导航菜单

Asp.net mvc 如何使用MVCSiteMap创建引导导航菜单,asp.net-mvc,twitter-bootstrap,mvcsitemapprovider,Asp.net Mvc,Twitter Bootstrap,Mvcsitemapprovider,你能告诉我如何使用MVCSiteMap MVC5一步一步地创建Bootstrap 3菜单导航栏和面包屑吗 我在将此代码更改为引导模式时遇到问题 @model MvcSiteMapProvider.Web.Html.Models.MenuHelperModel @using System.Web.Mvc.Html @using MvcSiteMapProvider.Web.Html.Models <ul id="menu" class="nav navbar-nav"> @f

你能告诉我如何使用MVCSiteMap MVC5一步一步地创建Bootstrap 3菜单导航栏和面包屑吗

我在将此代码更改为引导模式时遇到问题

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

<ul id="menu" class="nav navbar-nav">
    @foreach (var node in Model.Nodes)
    {
        <li>
            @Html.DisplayFor(m => node)
        @if (node.Children.Any())
        {
            @Html.DisplayFor(m => node.Children)
        }
    </li>
    }
</ul>
@model mvcsitemprovider.Web.Html.Models.MenuHelperModel
@使用System.Web.Mvc.Html
@使用MvcSiteMapProvider.Web.Html.Models
    @foreach(Model.Nodes中的var节点) {
  • @DisplayFor(m=>node) @if(node.Children.Any()) { @DisplayFor(m=>node.Children) }
  • }

我想要的是,有一个BootstrapMenuHelperModel可以将mvcSiteMapNode转换读取到导航菜单中。

下面是一个如何设置站点地图样式的教程:

安装引导程序并将这些类应用于教程:


您可能会遇到问题,因为您只解决了CSS问题的一部分。菜单使用3种不同的模板,其他HTML助手也使用其中2种模板。因此,最好创建命名模板(如下面的示例答案所示),为每个HTML帮助器(菜单、SiteMapPath、SiteMap等)创建单独的模板。对于每个级别的节点,菜单递归地调用SiteMapNodeListHelper,它可能不会生成引导所期望的HTML(取决于您使用的导航选项)

请参阅以获取起点,然后可以从中修改HTML和类属性


请记住,您还可以根据所选节点使用提供其他数据(例如CSS类名),或者可以使用SiteMapNodeModel的IsCurrentNode和IsInCurrentPath属性来确定当前节点是否处于活动状态,如果需要。

您应该尝试一下,然后返回具体问题,如果您发现有问题,我们可能会提供帮助。这只是使用css设置mvcsitemap的样式,请参阅我编辑的问题