2016-11-06 3 views
0

현재 Umbraco에서 동일한 부분보기를 사용하는 2 페이지가 있으며 문제의 코드는 홈 페이지 및 현재 페이지를 표시 할 각 사이트의 탐색 경로를 표시합니다. 아래의 원래 코드는 Europa 페이지에서 제대로 작동했지만 Singapur 페이지에 null 예외가있었습니다.Umbraco 부분보기 렌더링 문제

내 코드 변경 사항이 null 예외를 정렬했지만 현재 유로파 페이지는 현재 페이지를 표시하는 오른쪽에 탐색 경로의 두 번째 부분을 표시하지 않습니다. 그러나 Singapur 페이지에는 두 빵 부스러기가 잘 보이는 것처럼 표시됩니다.

원래 코드 :

<div id="infomation" class="content-position"> 
    <div class="breadcrumb"> 
     <ul> 
@{ 
    var homeLink = viewModelMenu.Home.Url; 
    var homeText = Umbraco.GetDictionaryValue("Start page"); 

<li><a href="@viewModelMenu.Home.Url">@Umbraco.GetDictionaryValue("Start page")</a></li> 
var getPage = string.Empty; 
string link = null; 
if (!viewModelMenu.IsCurrentContinent) 
{ 
    if (viewModelMenu.Continent != null) 
    { 
     link = "href=" + viewModelMenu.Continent.Url; 
     getPage = viewModelMenu.Continent.GetGermanyPageTitle(); 
    } 
} 
} 
    @if (!viewModelMenu.IsCurrentContinent) 
      { 
       foreach (var parent in viewModelMenu.Parents) 
       { 
        <li><a href="@parent.Url">@(parent.GetGermanyPageTitle())</a></li> 
       } 
       <li> 
        <a> 
         @(Model.Content.GetGermanyPageTitle()) 
        </a> 
       </li> 
      } 
     </ul> 
    </div> 

근무 이동 경로 : enter image description here

<div class="breadcrumb"> 
     <ul> 
      <li><a href="@viewModelMenu.Home.Url">@Umbraco.GetDictionaryValue ("Start page")</a></li> 
      <li><a @(!viewModelMenu.IsCurrentContinent ? "href="+ @viewModelMenu.Continent.Url : null)>@viewModelMenu.Continent.GetGermanyPageTitle()</a></li> 

@if (!viewModelMenu.IsCurrentContinent) 
      { 
       foreach (var parent in viewModelMenu.Parents) 
       { 
    <li><a href="@parent.Url">@(parent.GetGermanyPageTitle())</a></li> 
       } 
       <li> 
        <a> 
         @(Model.Content.GetGermanyPageTitle()) 
        </a> 
       </li> 
      } 
     </ul> 
    </div> 

지금 싱가포르 페이지에 대한 유로파 페이지에 표시되지 오른쪽에있는 이동 경로 탐색을하지만 잘 작동의 내 코드 변경

탐색 경로가 작동하지 않음 : enter image description here 내가보기에 Europa 페이지에 표시 할 코드가 Singapu r : enter image description here

답변

0

제 생각에 IscurrentContinent 메서드는 탐색 경로에서 시작 노드 이외의 다른 노드를 얻지 못한다는 의미로 Europa에서 true를 반환합니다.