如何从数据库中获取图像

时间:2014-12-27 07:44:55

标签: asp.net-mvc linq asp.net-mvc-3 asp.net-mvc-4

我想在razor视图中直接从数据库访问图像。

这是我的代码

@model IEnumerable<TelerikMvcAppCombo.Models.ImageModel>

@{
    Layout = null;
}


@foreach (var image in Model)
{ 
    <img src=@image.IMAGESIZE_DESC/>
}

这是我的模特课: -

[Table("IMAGESIZE")]
public class ImageModel
{
    [Key]
    public int IMAGESIZE_ID { get; set; }
    public string IMAGESIZE_NAME { get; set; }
    public string IMAGESIZE_DESC { get; set; }
    public int created_by { get; set; }
    public DateTime created_date { get; set; }
    public int modified_by { get; set; }
    public DateTime modified_date { get; set; }
}

这是我的控制器类: -

public JsonResult GetData([DataSourceRequest] DataSourceRequest request)
{
    var list = db.imageModels.ToList();
    return Json(list.ToDataSourceResult(request));
}

2 个答案:

答案 0 :(得分:1)

我完全不知道你的问题是什么,但试试这个:

@foreach (var image in Model)
{ 
    <img src="@Url.Content(image.IMAGESIZE_DESC)" />
}

答案 1 :(得分:0)

我不知道您的视图名称,但我认为它是GetData。 您必须返回ViewResult而不是JsonResult。你正在返回JsonResult,因此无法正常工作。

public ActionResult GetData([DataSourceRequest] DataSourceRequest request)
{
    var list = db.imageModels.ToList();
    return View(list.ToDataSourceResult(request));
}

如果你想使用JsonResult,你必须得到数据客户端并绑定它们客户端,在这种情况下Razor视图不起作用。