Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC5使用MvcSiteMapProvider构建twitter引导菜单_C#_Asp.net Mvc_Twitter Bootstrap_Asp.net Mvc 5_Mvcsitemapprovider - Fatal编程技术网

C# MVC5使用MvcSiteMapProvider构建twitter引导菜单

C# MVC5使用MvcSiteMapProvider构建twitter引导菜单,c#,asp.net-mvc,twitter-bootstrap,asp.net-mvc-5,mvcsitemapprovider,C#,Asp.net Mvc,Twitter Bootstrap,Asp.net Mvc 5,Mvcsitemapprovider,MVC5模板中的默认菜单部分如下所示: <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li>@Html.ActionLink("Home", "Index", "Home")</li> <li>@Html.ActionLink("About", "Ab

MVC5模板中的默认菜单部分如下所示:

     <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li>@Html.ActionLink("Home", "Index", "Home")</li>
                <li>@Html.ActionLink("About", "About", "Home")</li>
                <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
            </ul>
            @Html.Partial("_LoginPartial")
        </div>
这条线将产生以下结果:

        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li>@Html.ActionLink("Home", "Index", "Home")</li>
                <li>@Html.ActionLink("About", "About", "Home")</li>
                <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
            </ul>
           //how to put _LoginPartial here!
        </div>

因此,问题是如何在由MvcSiteMapProvider创建的菜单内呈现@Html.Partial_LoginPartial?

如果我没有记错,您可以在菜单方法中指定DisplayTemplate

导航到~/Views/Shared/DisplayTemplates并创建一个名为MyMenu.cshtml的新视图

将模型类型设置为mvcsitemprovider.Web.Html.Models.MenuHelperModel,然后使用Html指定菜单结构

MyMenu.cshtml


如果我没有记错,您可以在菜单方法中指定DisplayTemplate

导航到~/Views/Shared/DisplayTemplates并创建一个名为MyMenu.cshtml的新视图

将模型类型设置为mvcsitemprovider.Web.Html.Models.MenuHelperModel,然后使用Html指定菜单结构

MyMenu.cshtml


罗文的答案非常接近你需要做的,应该引导你走上正确的道路。模板MyMenu.cshtml可以包含输出所需HTML所需的任何逻辑。您只需修改模板即可满足您的需求。请注意,如果需要,您也可以修改默认模板,但在升级MvcSiteMapProvider期间,当要求替换它们时,您必须小心选择“否”,否则您的自定义设置将被覆盖

@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>

罗文的答案非常接近你需要做的,应该引导你走上正确的道路。模板MyMenu.cshtml可以包含输出所需HTML所需的任何逻辑。您只需修改模板即可满足您的需求。请注意,如果需要,您也可以修改默认模板,但在升级MvcSiteMapProvider期间,当要求替换它们时,您必须小心选择“否”,否则您的自定义设置将被覆盖

@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>

刚刚更新了_LoginPartial的完整代码。是否有机会从_LoginPartial复制逻辑?您是否可以从else块内部调用@Html.MvcSiteMap.MenuMyMenu?刚刚更新了_LoginPartial的完整代码。是否有机会从_LoginPartial复制逻辑?您不能从else块内部调用@Html.MvcSiteMap.MenuMyMenu吗?
        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li>@Html.ActionLink("Home", "Index", "Home")</li>
                <li>@Html.ActionLink("About", "About", "Home")</li>
                <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
            </ul>
           //how to put _LoginPartial here!
        </div>
@model MvcSiteMapProvider.Web.Html.Models.MenuHelperModel
@using MvcSiteMapProvider.Web.Html.Models

<ul class="nav navbar-nav navbar-right">
    @foreach (var node in Model.Nodes) { 
        <li>@Html.DisplayFor(m => node)</li>
    }
</ul>
@Html.MvcSiteMap().Menu("MyMenu")
@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>
@Html.MvcSiteMap().Menu("MyMenu")