我有一张图片表,其中包含以下列:
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)。由于某种原因,它无法识别它们是图像列。有没有人知道渲染图像的最简单方法?
答案 0 :(得分:3)
您可以创建一个页面,将图像作为流返回,并从图像列(或模板列中的IMG标记)引用该页面;见GridViewDisplayBlob.aspx
答案 1 :(得分:1)