You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Umbraco 13多图片选择器画廊块列表项开发问题求助

问题修复方案

你的代码存在几个语法和逻辑错误,导致页面空白,以下是修正后的版本:

错误点分析

  • 语法错误:var row.GalleryImages = ... 是无效写法,row 已经是声明过的变量,不能用 var 重新定义它的属性
  • 变量名错误:循环遍历的 row.GalleryItems 不存在,应该对应你的属性名 GalleryImages
  • 冗余代码:既然已经将 Model.Content 强转为 GalleryRow 模型,直接访问其属性即可,无需再调用 GetPropertyValue
  • 空值处理缺失:仅判断 row.GalleryImages==null 不够,还需处理空集合的情况

修正后的代码

@inherits UmbracoViewPage<BlockListItem>

@{
    var row = (GalleryRow)Model.Content;
    // 处理null和空集合的情况,同时限制最多显示10张图
    var galleryImages = row.GalleryImages?.Take(10) ?? Enumerable.Empty<IPublishedContent>();
    if (!galleryImages.Any()) return;
}

<div class="container col-12 pb-3">  
    <div class="row">
        <div class="col-md-4 col-sm-12">
            @foreach (var image in galleryImages)
            {
                <img src="@image.Url" alt="@image.Name" style="width:200px; margin-bottom:10px;" />
            }
        </div>    
    </div>
</div>

额外优化说明

  • 用 Take(10) 实现最多显示10张图片的需求
  • 补充图片的 alt 属性,提升页面可访问性
  • 增加图片底部间距,优化排版效果
  • 用 ?. 和 ?? 简化空值处理逻辑,代码更健壮

内容的提问来源于stack exchange,提问作者N Morrison

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:37:09