这里我们需要2个页面(A:Image.aspx,B:ImageUrl.aspx)
通过URL传参获取图片路径显示到A页面。
A页面代码:
1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Image.aspx.cs" Inherits="Web.Image" %>
2:
3: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4: <html xmlns="http://www.w3.org/1999/xhtml">
5: <head id="Head1" runat="server">
6: <title></title>
7: </head>
8: <body>
9: <form id="form1" runat="server">
10: <div>
11: <asp:Button ID="btnShowImage" runat="server" Text="显示图片" onclick="btnShowImage_Click" />
12: </div>
13: <div runat="server" id="imgdiv"></div>
14: </form>
15: </body>
16: </html>
在点击btnShowImage时触发事件,通过后台循环创建Image。
1: protected void Button1_Click(object sender, EventArgs e)
2: {
3: DataSet ds = //从数据库查询出来的数据
4: int piccount = //查询出的数据的总数
5: for (int i = 0; i < piccount; i++)
6: {
7: string picid = ds.Tables[0].Rows[i]["Id"].ToString();//获取此条数据中的主键ID
8: Image img = new Image();//创建图片对象
9: img.ID = picid;
10: img.ImageUrl = "ImageUrl.aspx?id=" + picid; //通过URL传值到B页面
11: imgdiv.Controls.Add(img);//将创建的图片对象保存到imgdiv层中
12: }
13: }
B页面主要就是显示图片。通过URL传入的参数不同,创建不同的图片。页面为空白页。
B页面后台代码:
1: protected void Page_Load(object sender, EventArgs e)
2: {
3: string picid = Request.QueryString["id"];
4: byte[] binaryBytes = //通过URL传入的picid查询此ID对应的二进制数
5: Response.AddHeader("Content-Length", Convert.ToString(binaryBytes.Length));
6: Response.ContentType = "image/jpg";//显示图片的格式
7: Response.OutputStream.Write(binaryBytes, 0, binaryBytes.Length);
8: }
OK了.运行页面,点击按钮试试吧。