Search Results for

    Show / Hide Table of Contents

    Media list using ContentArea

    Episerver recommends listing complex objects as blocks within a ContentArea. By populating a ContentArea with instances of a block type containing a MediaReference property, a customizable list of media can be easily accomplished.

    Add a ContentArea to your page type. Decorating the property with AllowedTypes will force the ContentArea to only allow MediaBlock, making modifications, rendering and error handling easier:

    [AllowedTypes(new[] { typeof(MediaBlock) })]
    public virtual ContentArea MediaList { get; set; }
    

    Define a block type, with a MediaReference property:

    public class MediaBlock : BlockData {
        public virtual MediaReference Media { get; set; }
    }
    

    Render the ContentArea as a ul, with each media/child as a li:

    @Html.PropertyFor(m => m.MediaList, new { CustomTag = "ul", ChildrenCustomTagName = "li" })
    

    For more details, check out our examples repository on GitHub.

    In This Article
    Back to top (c) Meriworks 2002-2022