1.新建一个页面,用于显示图片,例如 a.aspx,在 Page_Load 里写入以下代码:
//获取记录集,取出数据库里的二进制数据,即存储的图片数据,类似以下代
码:
DataSet ds = ac.getAdvisorById();
if (ds.Tables[0].Rows.Count > 0)
{
byte[] buffer = (byte[])ds.Tables[0].Rows[0]["CPhote"];
if (buffer.Length > 1)
{
Response.BinaryWrite(buffer);
Response.End();
}
}
2.在你要显示图片的地方,设置图片的路径为该页即可,比如你页面上放置了
一个图片控件,那么它的 ImageUrl 就设置为 a.aspx,类似以下方式:
this.img.ImageUrl="a.aspx";
你可以把图片的地址存储到数据库中,对 datalist 进行绑定,要显示图片可以
用下面的方法
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl="<%#
Eval("imageurl") %>" />
</ItemTemplate>
</asp:DataList>
imageurl 就是数据库中图片地址的字段
上一篇文章说了如何把图片保存到数据库中,所以做了个例子,将图片显示
在 datagrid。前面说过了用 response.binarywrite()只可以显示一张图片,现在用
一个 datagrid 控件,将图片显示在 datagrid 中的 image 控件里。(提示:下面的
例子没有做分页功能)
里面用了两个图片控件,一个是服务器端的 imagebutton,另一个是客户端的
image 控件。
前台代码:
<%@
page
language="c#"
codebehind="datagridimage.aspx.cs"
autoeventwireup="false" inherits="nettest.datagridimage" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>datagridimage</title>
<meta name="generator" content="microsoft visual studio .net 7.1">
<meta name="code_language" content="c#">
<meta name="vs_defaultclientscript" content="javascript">