2
현재 노드의 상위 제목을 표시하고 싶습니다.MVCSiteMapProvider - 상위 노드의 제목 표시
사이트 맵 :
<mvcSiteMapNode title="Main Site Tile" controller="Home" action="Index">
<mvcSiteMapNode title="Some site section" controller="Section" action="Index">
<mvcSiteMapNode title="Some page" controller="Section" action="Page1" />
<mvcSiteMapNode title="Some other page" controller="Section" action="Page2" />
</mvcSiteMapNode>
</mvcSiteMapNode>
그래서, 내가 사용하여 제목 (일부 페이지) 보여줄 수있는 '페이지 1'에 :
Html.MvcSiteMap().SiteMapTitle()
우수함. 그러나 내 _Layout 페이지에 상위 노드 (일부 사이트 섹션)의 제목을 표시하고 싶습니다. 따라서 'Page1'또는 'Page2'(또는 내포 된 중첩 된 뷰)를 보는 경우에도 동일하게 나타납니다.
이것이 가능합니까?
이것은 하나의 질문에 대한 훌륭한 해결책입니다. 특정 수준을 타겟팅 할 수 있습니까? 이것은 항상 부모를 보여 주지만 내 사이트 맵에 4 개의 레벨이 있다고 말하면서 나는 항상 내가 속한 노드의 두 번째 레벨을 보여주고 싶습니다. –
관심있는 수준까지 .ParentNode.ParentNode를 사용하는 것 외에는 기본 제공 방법이 없습니다. 잠재적으로 사용자 정의 속성을 사용하여 제목을 표시 할 노드를 플래그 지정한 다음 플래그가있는 노드를 찾을 때까지 재귀 적으로 .ParentNode를 호출 할 수 있습니다. MvcSiteMapProvider_AttributesToIgnore에 사용자 정의 속성을 추가했는지 확인하십시오. 그렇지 않으면 쿼리 문자열에 추가됩니다. https://github.com/maartenba/MvcSiteMapProvider/wiki/Using-Custom-Attributes-on-a-Node – NightOwl888