簡體   English   中英

將數據從控制器傳遞到View-MVC

[英]Pass data from controller to View - MVC

我正在嘗試進行查詢以接收數據庫中的所有數據以在視圖中顯示它們。

但它不起作用。 我無法弄清楚發生了什么,因為我沒有收到任何錯誤。

有人可以幫忙嗎?

提前致謝

控制器:

public ActionResult Details(int id = 0)
            {
                Persons p= db.persons.Find(id);

                var query = from a in db.images
                            where a.Id_Person== id
                            select a.FileName;
                ViewBag.ImgRev= query;

                if (mag == null)
                {
                    return HttpNotFound();
                }

                return View(p);
            }

視圖:

@foreach (var p in ViewBag.ImgRev)
        { 
          <div>
            <img src="~/Files/" + @p /></div>
        }

linq語句在分配給ViewBag之前將沒有評估。

嘗試:

控制器:

ViewBag.ImgRev = query.ToList();

視圖:

@ {
    var imgList = ViewBag.ImgRev as IEnumerable<string>;
}

@foreach (var p in imgList)
{ 
    <div><img src="~/Files/" + @p /></div>
}

使用ViewModel的替代方法:

public class SomePageViewModel
{
    public Persons Persons { get; set; }
    public IEnumerable<string> Files { get; set; }
}

控制器:

...
var model = new SomePageViewModel { Persons = p, Files = query.ToList() };
return model;

視圖:

@foreach (var file in Model.Files)
{ 
    <div><img src="~/Files/" + @file /></div>
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM