在 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
我正在尝试在视图内的 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