Получить изображение удостоверения личности ребенка - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь получить идентификатор свойства изображения дочернего элемента, чтобы я мог использовать 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.generated.cs:

/// Местоположение изображения [global :: System.CodeDom.Compiler.GeneratedCodeAttribute ("Umbraco.ModelsBuilder", "8.0.4")] [ImplementPropertyType ( "locationImage")] public Image LocationImage => this.Value ("locationImage");

1 Ответ

0 голосов
/ 17 апреля 2019

Это было решено на форумах Umbraco, поэтому я опубликую ответ здесь.

С помощью строго типизированных моделей Umbraco вы можете передать значение, встроенное в тег html, например:

<img src="@location.LocationImage.Url"/>

Вместо того, чтобы передавать его в службу.

...