无法访问内容节点中的媒体选择器属性(Umbraco 7)

时间:2017-08-25 06:46:09

标签: c# html razor umbraco media

我想在主模板的所有页面上显示我的标题徽标,但是我无法从文档类型中获取媒体URL。

我的标题徽标位于此内容节点中:http://i.imgur.com/QuugP1J.png

将模板设置为主文件。

页面的文档类型位于树中:http://i.imgur.com/6XZbecu.png

我的所有模板都继承自单个主模板,我想在其中显示标题徽标,但出于某种原因,当我插入检索媒体项目的代码时,它不会显示它。

@{
  var typedMediaPickerSingle = Model.Content.GetPropertyValue<IPublishedContent>("headerLogo");
  if (typedMediaPickerSingle != null)
  {
    <a href="index.html"><img src='@typedMediaPickerSingle.Url" style="width:320px" alt="@typedMediaPickerSingle.GetPropertyValue("headerLogo")' /></a>
  }
}   

1 个答案:

答案 0 :(得分:0)

如果要从父节点获取内容,请不要使用当前节点Model.Content,而是像这样遍历节点:

var languageNode = Model.Content.AncestorOrSelf(2);
var typedMediaPickerSingle = languageNode.GetPropertyValue<IPublishedContent>("headerLogo");

AncestorOrSelf方法中的“2”是想要达到的等级。