当foreach循环在_PartialView页面工作时,图像不显示

本文关键字:工作 图像 显示 循环 foreach PartialView | 更新日期: 2023-09-27 18:18:34

我有一个像这样的模型类

public class UserViewModel
{
    public UserViewModel() 
    {
        UsersDet = new Dictionary<long, string>(); 
        usrdat  = new List<User>();    
    }
    public Dictionary<long , string> UsersDet { get; set; }
    public IEnumerable<User> usrdata { get; set; }
}

然后我试图在部分视图中获得这些模型值,如以下

这个局部视图实际上是一个弹出式。

_UserView部分视图

@model Project.ViewModels.UserViewModel
<div class="modal-dialog" role="document">
    <div class="modal-content">
        <div class="modal-body" style="width: 530px;">
            <div id="slider_view" style="display: block;">
                <div class="flexslider">
                    <ul class="slides">
                        @foreach (var item in Model.UsersDet )
                        {         
                            <li data-thumb="~/Upload_Images/A.jpg">
                                <img src="~/Upload_Images/A.jpg" data-imagedata="image001" />
                                <p class="flex-caption">Title</p>
                            </li>
                        }
                    </ul>
                </div>
            </div>
       </div>
    </div>
</div>

在这里我不能看到A.jpg的图像弹出,但当我使用像下面我可以看到图像

_UserView部分视图

@model Project.ViewModels.UserViewModel
<div class="modal-dialog" role="document">
    <div class="modal-content">
        <div class="modal-body" style="width: 530px;">
            <div id="slider_view" style="display: block;">
                <div class="flexslider">
                    <ul class="slides">
                        @for (int i =0; i < 3 ; i ++)
                        {         
                            <li data-thumb="~/Upload_Images/A.jpg">
                                <img src="~/Upload_Images/A.jpg" data-imagedata="image001" />
                                <p class="flex-caption">Title</p>
                            </li>
                        }
                    </ul>
                </div>
            </div>
       </div>
    </div>
</div>

这是一个控制器方法来绑定值到上面的弹出

    [HttpGet]
    public PartialViewResult MethodName(int id)
    {
        try
        {    
            IEnumerable<User> listofData = ..
            UserViewModel listofimage = new UserViewModel();

            if (listofData != null) 
            {
                listofimage.usrdata = listofData;
                foreach(var item in listofimage.usrdata)
                {
                    var path = RenderImage(item.ImageValue, "UploadImagePath");                        
                    var fileResult = path as FilePathResult;
                    if (fileResult != null)
                    {
                        string imageurl = fileResult.FileName;
                        imageurl = imageurl.Replace(@"''", @"'");
                        listofimage.UsersDet.Add(item.CaseID, imageurl);
                    }                        
                }
            }                
            return PartialView("_UserView", listofimages);   
        }
        catch (Exception)
        {
            throw;
        }
    } 
    public ActionResult RenderImage(string imageid, string pathvalue)
    {
        try
        {
            var URL = System.Configuration.ConfigurationManager.AppSettings[pathvalue].ToString();
            var path = Path.Combine(URL, imageid + ".jpg");
            return base.File(path, "image/jpeg");
        }
        catch (Exception)
        {
            throw;
        }
    }

我的foreach方法有什么问题?如何将元素填充为循环

当foreach循环在_PartialView页面工作时,图像不显示

If Model。UsersDet用项目填充,然后<元素将被呈现。如果它们被渲染,但你没有看到图像,那么你打开devtools,在Network选项卡中寻找每个图像的请求。如果有请求有坏的响应,然后你修复它根据返回的http状态。>

但是没有项目要调试,如果你说@for正在工作,但@foreach不是,那么问题应该是模型。UsersDet为空。