나는 Advanced Menu로 많은 행운이 없었다. 내가 사용하지 못하게하는 버그가있었습니다.
내가 찾은 내 솔루션은 예쁜 코드가 아닙니다 및 리팩토링 할 필요가 있지만 여기있다 : 나는 (두 번째 원하는 위치 은 내가 Layout.cshtml에 대한
코드 Model.Navigation 캐스팅 PartialView 렌더링 서브 메뉴 표시)
{Html.RenderPartial ("SubNavMenu"(는 IEnumerable) Model.Navigation)} @ PartialView
@model IEnumerable<dynamic>
@{
IEnumerable<dynamic> subNavLinks = null;
string requestUrl = Request.Path.Replace(Request.ApplicationPath, string.Empty).TrimEnd('/').ToUpperInvariant();
IEnumerable<dynamic> children = Model.FirstOrDefault(x => x.MenuName == "main").Items;
var menuItems = children.Select(x => x.Item);
var parent = menuItems.FirstOrDefault(x => x.Text.TextHint.Equals(requestUrl, StringComparison.InvariantCultureIgnoreCase));
if(parent!=null)
{
subNavLinks = menuItems.Where(x => x.Position.StartsWith(parent.Position.Substring(0,1)) && x.Position.Length>1);
}
}
<nav>
<ul class="subNav">
@if (subNavLinks != null)
{
foreach (var item in subNavLinks)
{
<li><a class="@className" href="@item.Href">@item.Text</a></li>
}
}
</ul>
</nav>
'VAR의 subNavLinks = 용의 메뉴 아이템에
코드 .Where (x => x.Position.StartsWith (parentPosition.Substring (0,1)) && x.Position.Length> 1);' – dave