我目前有2个页面在Umbraco上使用相同的局部视图,并且相关代码显示每个站点上的面包屑以显示主页和它所在的当前页面。下面的原始代码适用于Europa页面,但它为Singapur页面提供了一个空例外。
我的代码更改已对null异常进行了排序,但是Europa页面现在不显示右侧的痕迹导航的第二部分,显示其当前页面。但Singapur页面显示两个面包屑都很好,因为它的假设。
原始代码:
<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>
我的代码更改现在正在使右边的面包屑不会出现在Europa页面上,但在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>
答案 0 :(得分:0)
我的猜测是IsCurrentContinent方法对Europa返回true,这意味着你没有得到除了面包屑中的起始节点以外的任何东西。