我正在开发一个MVC网站,普通用户可以将多个图像上传到数据库中,然后就可以获取并显示它们。
到目前为止,我设法显示图像但不是多个。在课堂上我有:
string imagedata = Convert.ToBase64String(decryptedBytes);
string imageDataURL = string.Format("data:image/jpeg;base64,{0}", imagedata);
ViewBag.ImageData = imageDataURL;
return View();
在视图中我有:
<img src="@ViewBag.ImageData" height="400" width="500" />.
我应该在视图或方法本身中制作一种foreach吗?
答案 0 :(得分:0)
首先,您应该避免使用ViewBag
,并使用@model
传递图像对象。
我建议您强烈输入您的收藏集(例如IList<ImageData>
,但就示例而言(Razor CSHTML):
@model IList<string>
@foreach (var image in Model)
{
<img src="@image" ... />
}
我也会遗漏模型 - &gt;为简单起见,ViewModel转换等。
要从控制器获取模型,请将其传递给View()
(假设您已经从数据库填充了imageList):
IList imageList = GetListOfImages(user.Id)
return View(imageList);