在网格视图中显示数据库中的图像
本文关键字:图像 数据库 显示 视图 网格 | 更新日期: 2023-09-27 18:34:43
我有一个显示建筑物信息的网格视图。我正在将信息从如下所示的数据库加载到 GridView 中:
var buildings = (from t in dc.Towns
where (t.userid == userid) && (t.time < DateTime.Now)
join b in dc.Buildings
on t.buildingid equals b.buildingid
into j1
from j2 in j1.DefaultIfEmpty()
group j2 by j2.buildingname
into grouped
select new
{
Building= grouped.Key,
Picture= grouped.First().imagePath,
Number= grouped.Count()
});
gvBuildings.DataSource = buildings.ToList();
gvBuildings.DataBind();
但是我无法显示图像,它只显示保存图像的路径。如何在网格视图中显示路径中的图像?
您必须具有可以显示图像的列类型,使用图像字段并使用该URL设置DataImageUrlField属性,有关详细信息,请参阅此处:
http://msdn.microsoft.com/en-us/library/aa479350.aspx
尝试使用 Image.FromFile(字符串路径(将图像作为图像对象加载,并将它们放入绑定数据中以代替路径。
例如
select new
{
Building= grouped.Key,
Picture= Image.FromFile(grouped.First().imagePath),
Number= grouped.Count()
});
当然,您需要一些错误处理,我还建议将数据访问代码与显示逻辑分开,而不是将它们全部放在一种方法中。