MvcSiteMap 라이브러리를 사용하기 위해 asp.net mvc 5 앱을 구성하고 있습니다. 그래서, 나는 breadcumb을 성공적으로 구성 할 수있었습니다.
그러나 메뉴 템플릿은 breadcumbs보다 다소 복잡합니다. 나는 메뉴의 수염 버전이 (필자는 UL 태그를 보여주지 않았다) :MvcSiteMap에서 빵집을 엉망으로 만들지 않고 메뉴를 생성
<li{{#class}} class="{{class}}" {{ />class}}>{{! print class name (active, open, etc) if it exists }}
<a href="{{#link}}{{#createLinkFunction}}{{link}}{{/createLinkFunction}}{{/link}} {{^link}}#{{/link}}" {{#submenu?}} class="dropdown-toggle" {{ />submenu?}}>
{{#icon}}<i class="{{icon}}"></i>{{/icon}}
{{#level-1}}
<span class="menu-text">
{{/level-1}}
{{#level-2}}{{! if level-2 and no icon assigned, use this icon}}
{{^icon}}<i class="icon-double-angle-right"></i>{{/icon}}
{{/level-2}}
{{title}}
{{#badge}}
<span class="badge {{badge-class}} {{tooltip-class}}" {{#tooltip}} title="{{{tooltip}}}" {{ />tooltip}}>{{{badge}}}
</span>
{{/badge}}
{{#label}}
<span class="label {{label-class}}" {{#label-title}} title="{{label-title}}" {{ />label-title}}>{{{label}}}</span>
{{/label}}
{{#level-1}}
</span>
{{/level-1}}
{{#submenu?}}<b class="arrow icon-angle-down"></b>{{/submenu?}}
</a>
{{#submenu?}}{{! if we have submenu items, print them recursively }}
<ul class="submenu">
{{#submenu}}
{{> layout.sidenav.items}}
{{/submenu}}
</ul>
{{/submenu?}}
</li>
그래서, 모든 노드에 대해이 적용되는 논리이다. 레벨 1 또는 레벨 2 노드 인 경우 노드에 하위 노드 (하위 메뉴)가 있는지 알아야합니다.
1) 어떻게 알 수 있습니까?
2) 변경해야 할 것으로 생각되는 SiteMapNodeModel.cshtml을 변경해야하는 경우, 동일한 템플릿을 사용하므로 breadcumbs를 망치지 않는 방법은 무엇입니까?
사실'@ Html.MvcSiteMap(). SiteMapPath()' – Alex78191