在 Sitecore 中使用 Glassmapper 映射图像

Mapping images using Glassmapper in Sitecore

我正在尝试在视图内的 foreach 循环中渲染图像。但是即使模型有不同的图像,它也会显示相同的图像。 我在视图中的代码:

@foreach (var currentFeature in Model.FacilityFeatures)
        { 
            <li class="features-list-enclosure">
                <span title="@currentFeature.CategoryName" class="features-list-enclosure__item">
                    @RenderImage(x => currentFeature.CategoryICON, new { title = @currentFeature.CategoryName }, isEditable: true)
                </span>
            </li>
        }

我的模特:

public class FacilitiesPage : BasePage
    {
        [SitecoreField(FieldName = "Facility features")]
        public virtual IEnumerable<ContentCategory> FacilityFeatures { get; set; }

    }

当我是 运行 调试器时,它显示 currentFeature.CategoryICON 项目在循环的每次迭代中都有不同的图像。但它在 UI 上显示相同的图像,但图像上的标题不同。 如果我不使用 Glassmapper 渲染图像而不是它工作并显示不同的图像:

@foreach (var currentFeature in Model.FacilityFeatures)
        { 
            <li class="features-list-enclosure">
                <span title="@currentFeature.CategoryName" class="features-list-enclosure__item">
                    <img title="@currentFeature.CategoryName" src="@currentFeature.CategoryICON.Src" />

                </span>
            </li>
        }

发生这种情况是因为当表达式相同时 Glass 会缓存输出。尝试使用它来渲染图像:

@RenderImage(currentFeature, x => x.CategoryICON, new { title = @currentFeature.CategoryName }, isEditable: true)

这个问题与此相关:https://github.com/mikeedwards83/Glass.Mapper/issues/95