ASP.NET Core中如何将UnitPictures列表赋值给FileViewModel的列表属性
解决ASP.NET Core控制器与视图模型类型不匹配问题
只需在控制器中创建FileViewModel实例,将GetImages返回的列表赋值给它的UnitPicturesList属性,再将视图模型实例传递给视图即可,具体修改如下:
修改控制器代码
public IActionResult UnitImages(long Id, long unitId) { var images = GetImages(Id); // 创建视图模型实例并赋值图片列表 var viewModel = new FileViewModel(); viewModel.UnitPicturesList = images; // 也可使用对象初始化器简化写法: // var viewModel = new FileViewModel { UnitPicturesList = images }; return View(viewModel); }
额外优化提示
当前视图中图片的src为硬编码地址,建议替换为模型中的FileLocation属性,以显示正确的图片资源:
@model FileViewModel <div class="row"> <div class="col-lg-4 col-md-12 mb-4 mb-lg-0"> @for (var i = 0; i < Model.UnitPicturesList.Count; i++) { <img src="@Model.UnitPicturesList[i].FileLocation" class="w-100 shadow-1-strong rounded mb-4" alt="@Model.UnitPicturesList[i].FileName" /> } </div>
内容的提问来源于stack exchange,提问作者whisk
相关产品推荐
相关产品推荐

