【问题标题】:Display image from database in gridview在gridview中显示数据库中的图像
【发布时间】:2012-05-27 21:12:09
【问题描述】:

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

【问题讨论】:

    标签: c# asp.net image linq-to-sql gridview


    【解决方案1】:

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

    例如

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

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

    【讨论】:

    • 我无法使用 Image.FromFile。唯一的选择是 Image.DisabledCssClass。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-11-06
      • 2023-04-11
      • 2012-11-25
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多