【问题标题】:How do you make GridView load images with a DataSet in ASP.NET 2.0?如何让 GridView 在 ASP.NET 2.0 中使用 DataSet 加载图像?
【发布时间】:2010-09-17 00:30:29
【问题描述】:

我有一个包含以下列的图片表:

PICTURE_ID int IDENTITY(1000,1) NOT NULL,
CATEGORY_ID int NOT NULL,
IMGDATA image NOT NULL,
CAPTION1 text COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
MIME_TYPE nchar(20) NOT NULL DEFAULT ('image/jpeg'),
IMGTHDATA image NOT NULL

在我的代码隐藏中我有这个:

string tableName = "CATPICS";
SqlConnection dbConnection = new SqlConnection(connStr);
SqlDataAdapter daCatPics = new SqlDataAdapter("SELECT TOP(3) * FROM CATEGORY_PICTURES", dbConnection);
DataSet dsPics = new DataSet();
daCatPics.Fill(dsPics, tableName);

gvCatPics.DataSource = dsPics;
gvCatPics.DataMember = tableName;
gvCatPics.DataBind();

在标记上我几乎有:

<asp:GridView ID="gvCatPics" runat="server"></asp:GridView>

但是,当代码执行时,它只是忽略了两个图像列(IMGDATA 和 IMGTHDATA)。由于某种原因,它无法识别它们是图像列。有谁知道让它渲染图像的最简单方法?

【问题讨论】:

    标签: asp.net gridview image


    【解决方案1】:

    您可以创建一个将图像作为流返回的页面,并从图像列(或模板列中的 IMG 标记)引用该页面;见GridViewDisplayBlob.aspx

    【讨论】:

      【解决方案2】:

      没有真正简单的方法可以做到这一点。基本上,您将需要创建一个处理程序来显示图像。然后在您的网格中,您将创建一个带有指向您的图像处理程序的 URL 的 img 标记。

      可以在here 找到这方面的一个示例。

      更新:here 的更好示例。

      【讨论】:

        猜你喜欢
        • 2013-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-27
        • 2014-12-28
        相关资源
        最近更新 更多