Take the community feedback survey now.
                AI OnAI Off
            
        Take the community feedback survey now.
 
                Hi,
Have you tried using something like Html.PropertyFor(x => x.MainImage) to display the image instead?
I would recommend creating a Html helper function for this that you can reuse throughout your project(s):
    public static class MediaHelpers
    {
        public static string GetImageVaultMediaUrl<T>(this HtmlHelper<T> html, Expression<Func<T, MediaReference>> expression) {
            var modelMetadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
            var mediaReference = modelMetadata.Model as MediaReference;
            var settings = ServiceLocator.Current.GetInstance<PropertySettingsResolver>().GetSettings(typeof(PropertyMediaSettings), modelMetadata.ModelType, modelMetadata.PropertyName) as PropertyMediaSettings;
            var client = ClientFactory.GetSdkClient();
            var media = client.Load<Thumbnail>(mediaReference, settings).FirstOrDefault();
            return media?.Url;
        }
    }
And then call it like this whenever you need the URL:
    <header style="background-image: url('@Html.GetImageVaultMediaUrl(m => m.HeaderImage)');">
Best regards,
Robert
ImageVault
 
    
    
    
Hello,
I have a view that use MainImage as a background. Recenly I have changed type of MainImage from ContentReference to MediaReference, because my client prefer to use the ImageVault. Now I got compile error becuuse MainImage is not type of ContentReference.
Does anyone know how to get ImageVault as an url background image?
Thanks,
/Katharina