0

我有一个显示建筑物信息的 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 中显示路径中的图像?

4

2 回答 2

1

您必须具有可以显示图像的列类型,使用 Image Field 并使用该 URL 设置 DataImageUrlField 属性,请在此处查看详细信息:

http://msdn.microsoft.com/en-us/library/aa479350.aspx

于 2012-05-21T11:25:51.983 回答
0

尝试使用 Image.FromFile(string path) 将图像加载为 Image 对象,并将它们放入绑定数据中以代替路径。

例如

                 select new
                            {
                                Building= grouped.Key,
                                Picture= Image.FromFile(grouped.First().imagePath),
                                Number= grouped.Count()
                            });

当然,您需要进行一些错误处理,而且我还建议您将数据访问代码与显示逻辑分开,而不是使用一种方法。

于 2012-05-21T11:18:38.570 回答