Asp.net mvc ASP.NET MVC5动态子菜单,包含从DB生成的链接

Asp.net mvc ASP.NET MVC5动态子菜单,包含从DB生成的链接,asp.net-mvc,asp.net-mvc-5,submenu,Asp.net Mvc,Asp.net Mvc 5,Submenu,我需要有一个子菜单(行政部门)的一部分称为'行政'。当用户单击主菜单中的Executives时,此菜单必须显示,并且只要单击Executives的任何子菜单链接,此菜单就会保持不变。 问题是:子菜单链接是动态的,来自DB/CMS系统,因此它不是硬编码列表。这就是我悲哀的开始。 目前,我在PartialView中有它,它需要一个IEnumerable模型,以便可以动态构建。 但我是如何在我需要的时候开始工作的,这在我的脑海里有点扭曲 @using xxx.Models @model IEnumer

我需要有一个子菜单(行政部门)的一部分称为'行政'。当用户单击主菜单中的Executives时,此菜单必须显示,并且只要单击Executives的任何子菜单链接,此菜单就会保持不变。 问题是:子菜单链接是动态的,来自DB/CMS系统,因此它不是硬编码列表。这就是我悲哀的开始。 目前,我在PartialView中有它,它需要一个IEnumerable模型,以便可以动态构建。 但我是如何在我需要的时候开始工作的,这在我的脑海里有点扭曲

@using xxx.Models
@model IEnumerable<xxx.Models.ExecutiveSection>
<ul class="nav navbar-nav">
@foreach (ExecutiveSection es in Model)
{
    <li>@Html.ActionLink(es.SectionName, "Section", "Executive", new { id = es.ExecutiveSectionId })</li>
}
@使用xxx.Models
@模型IEnumerable
    @foreach(模型中的ExecutiveSection es) {
  • @ActionLink(es.SectionName,“Section”,“Executive”,新的{id=es.ExecutiveSectionId})
  • }
我解决了它。 这是在_布局中完成的吗

 @{ // Sub-Menu for Executive Sections
            if (HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString().Contains("Executive"))
            {
                Html.RenderAction("ExecutiveSubMenu", "Executive");
            }
        }   
在控制器中:

public ActionResult ExecutiveSubMenu()
    {
        // get sections
        var sections = db.ExecutiveSections.ToList();
        return PartialView("ExecutiveSubMenuView", sections);
    }
最后是部分:

@using xxx.Models
@model IEnumerable<xxx.Models.ExecutiveSection>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
    @foreach (ExecutiveSection es in Model)
    {
        <li>@Html.ActionLink(es.SectionName, "Section", "Executive", new { id = es.SectionName.Replace(" ", "-") }, null)</li>
    }
</ul>
@使用xxx.Models
@模型IEnumerable
    @foreach(模型中的ExecutiveSection es) {
  • @ActionLink(es.SectionName,“Section”,“Executive”,新的{id=es.SectionName.Replace(“,”-”),null)
  • }
(我将任何节名中的空格“替换”为破折号“-”,然后再次替换以便于搜索引擎优化。)