2016-11-06 3 views
0

Ich habe derzeit 2 Seiten mit der gleichen Teilansicht auf Umbraco und der fragliche Code zeigt die Brotkrumen auf jeder Website, um die Homepage und die aktuelle Seite anzuzeigen, auf der es ist. Der ursprüngliche Code unten funktionierte gut für die Europa-Seite, aber es gab eine Null-Ausnahme für die Singapur-Seite.Umbraco Teilansicht Rendering Problem

Meine Codeänderungen haben die Null-Ausnahme sortiert, jedoch zeigt die Europa-Seite jetzt nicht den 2. Teil des Breadcrumbs auf der rechten Seite an, die die aktuelle Seite anzeigt, auf der sie sich befindet. Aber die Singapur-Seite zeigt beide Brotkrumen an, wie es sich gehört.

Originalcode:

<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> 

Meine Code-Änderungen, die jetzt ist auf der rechten Seite die Brotkrümel machen nicht auf Europa Seite erscheinen aber die Arbeit für Singapur Seite fein:

<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> 

Arbeiten Brotkrümel: enter image description here Funktioniert nicht breadcrumb: enter image description here Was ich möchte, dass mein Code auf der Europa-Seite angezeigt wird, genau wie es für Singapu tut r:

Antwort

0

Meine Vermutung wäre, dass die Methode IsCurrentContinent für Europa wahr zurückgibt, was bedeutet, dass Sie nichts anderes als den Startknoten in den Breadcrumbs bekommen.