我有一个显示建筑物信息的GridView。我正在从这样的数据库中将信息加载到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();
但我无法显示图像,它只显示保存的路径。如何在GridView中显示路径中的图像?
答案 0 :(得分:1)
您必须具有可以显示图像的列类型,使用图像字段并使用该URL设置DataImageUrlField属性,请查看此处了解详细信息:
答案 1 :(得分:0)
尝试使用Image.FromFile(字符串路径)将图像作为Image对象加载,并将它们放入绑定数据中代替路径。
e.g。
select new
{
Building= grouped.Key,
Picture= Image.FromFile(grouped.First().imagePath),
Number= grouped.Count()
});
当然,您需要一些错误处理,我还建议您将数据访问代码与显示逻辑分开,而不是将其全部放在一个方法中。