获取子项的图像ID

时间:2019-04-16 13:25:03

标签: umbraco

我正在尝试获取子项的image属性的ID,以便可以使用Umbraco.Media()来显示图像。

我正在尝试通过使用强类型模型来使用最佳实践,我认为在这里我正确地称呼了强类型模型。

以下代码为什么在“ var imageId = location.LocationImage.Id;”处返回“未将对象引用设置为对象实例”错误。线?

谢谢。

@inherits Umbraco.Web.Mvc.UmbracoViewPage<ContentModels.Locations>
@using ContentModels = Umbraco.Web.PublishedModels;

@{
    Layout = "master.cshtml";
    var locations = Model.Children<Location>();
}

@foreach (var location in locations)
{
    <p>@location.LocationName</p> //this returns a string as expected
    var imageId = location.LocationImage.Id; //this throws the error
    var image = Umbraco.Media(imageId);
    <img src="@image"/>
}

有关信息,我已启用AppData ModelsMode并重建了模型。我的Location.genic.cs中的实现是:

///位置图像 [global :: System.CodeDom.Compiler.GeneratedCodeAttribute(“ Umbraco.ModelsBuilder”,“ 8.0.4”)] [ImplementPropertyType(“ locationImage”)] 公共图像LocationImage => this.Value(“ locationImage”);

1 个答案:

答案 0 :(得分:0)

此问题已在Umbraco论坛上解决,因此我将在此处发布答案。

使用Umbraco强类型模型,您可以将值内联传递给html标签,例如:

"select * from table where id in (x1,x2,x3,4,x5);"

无需将其传递给服务。