Asp.net mvc 4 如何从视图中的模型渲染(图像)数据?
这是我的控制器动作Asp.net mvc 4 如何从视图中的模型渲染(图像)数据?,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,这是我的控制器动作 public ActionResult ViewImage(int? productId){ var image = (from x in db.Images where (x.ProductId == productId) select x).ToList(); return View(image);
public ActionResult ViewImage(int? productId){
var image = (from x in db.Images
where (x.ProductId == productId)
select x).ToList();
return View(image);
}
这就是我的观点
@model
@{
ViewBag.Title = "ViewImage";
}
<h2>Uploaded pictures</h2>
<div>
<br>
<img height="300" width="350 " src="@Model" />
</div>
<div>
<br>
@Html.ActionLink("Back to Index","Index","Products")
</div>
@模型
@{
ViewBag.Title=“ViewImage”;
}
上传图片
@ActionLink(“返回索引”、“索引”、“产品”)
我不知道我要在@model后面放什么。我试图把图像类型,但没有工作 您需要发送模型类型
@model List<Images>
@型号列表
将以下属性添加到模型类并向其添加图像。
公共IEnumerable附件{get;set;}
尝试使用ViewBag.Image而不是var Image:
public ActionResult ViewImage(int? productId){
Viewbag.Image image = (from x in db.Images
where (x.ProductId == productId)
select x).ToList();
return View(image);
}
现在在你看来:
@{
ViewBag.Title = "ViewImage";
}
<h2>Uploaded pictures</h2>
<div>
<br>
@foreach(var image in Viewbag.Image)
{
<img height="300" width="350 " src="@image" />
}
</div>
<div>
<br>
@Html.ActionLink("Back to Index","Index","Products")
</div>
@model IList<WebApplication1.Image>
<h2>Uploaded pictures</h2>
<div>
@foreach(var image in Model)
{
<img height="300" width="350 " src="@Url.Action("Image", "SomeController", new { imageId = image.Id })" />
}
</div>
@{
ViewBag.Title=“ViewImage”;
}
上传图片
@foreach(Viewbag.image中的var图像)
{
}
@ActionLink(“返回索引”、“索引”、“产品”)
希望这有帮助您应该有一个控制器操作,将图像流传输到响应:
public ActionResult Image(int imageId)
{
var image = db.Images.SingleOrDefault(x => x.Id == imageId);
if (image == null)
{
return HttpNotFound();
}
byte[] imageData = image.Data; // or whatever byte[] property you have
string contentType = "image/jpg"; // or if you have stored the content type in your DB simply assign it to image.ContentType
return File(imageData, contentType);
}
好的,有了这个方便的方法,您可以更新视图:
@{
ViewBag.Title = "ViewImage";
}
<h2>Uploaded pictures</h2>
<div>
<br>
@foreach(var image in Viewbag.Image)
{
<img height="300" width="350 " src="@image" />
}
</div>
<div>
<br>
@Html.ActionLink("Back to Index","Index","Products")
</div>
@model IList<WebApplication1.Image>
<h2>Uploaded pictures</h2>
<div>
@foreach(var image in Model)
{
<img height="300" width="350 " src="@Url.Action("Image", "SomeController", new { imageId = image.Id })" />
}
</div>
@model-IList
上传图片
@foreach(模型中的var图像)
{
}
请注意图像的
src
属性如何指向我们之前实现的控制器操作,它将获取图像并将其流式传输到响应。将图像视为错误!我得到一个错误:找不到类型或名称空间名称“Images”(是否缺少using指令或程序集引用?),只需添加名称空间<代码>@型号列表