数据库中字段类型为imagebyte[] ImageData = (byte[])sqlReader["照片"];
        Response.BinaryWrite(ImageData);可以显示在刷新页面上方,但要显示在页面指定位置,怎么实现?
用Image 控件好吗?怎么实现?在网上看了可以新建一个网页专门显示图片xxx.aspx,再ImageUrl="xxx.aspx"
但还是不明白,怎么把 Response.BinaryWrite(ImageData);传入xxx.aspx呢?

解决方案 »

  1.   

    你说的那个是验证图片的生成!原理简单的说就是将页面的输出流换成了图片的二进制数据流,而这个二进制数据流是由那个***.aspx的后台代码中page_load写出来的,
      

  2.   

    不用传
    xxx.aspx
    直接写byte[] ImageData = (byte[])sqlReader["照片"]; 
    Response.BinaryWrite(ImageData); Image的url引用就好了
    ImageUrl="xxx.aspx"
      

  3.   

    <img src="b.aspx" alt="">
    在b.aspx的page_load中输出图片的二进制流,,
    b.aspx内容页面只留
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="b.aspx.cs" Inherits="b" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    我是这么做的...
      

  4.   


    using (SqlConnection conn = new SqlConnection(sqlconnstr))
    {
        conn.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandText = "select User_ImgContent from tbl_FriendsUser where User_Id=2";
        SqlDataReader reader = cmd.ExecuteReader();
        reader.Read();
        Response.ContentType = "application/octet-stream";
        Response.BinaryWrite((Byte[])reader["User_ImgContent"]);
        Response.End();
        conn.Close();
        reader.Close();
        Response.Write("读取成功");
    }
      

  5.   

    感谢大家,我大概知道怎么显示出来,但我不光是静态显示,我要根据输入其他信息显示图片:
    有一个网页Default.aspx 上面有控件:Button1,TextBox1,Image1.TextBox1是索引,输入索引在点击Button1把图象显示在Image1上.到底怎么实现??
      

  6.   

    假如button仅仅是为了改变图像而不执行其他后台操作,那么可以直接用html的button,在前台给该button加个onclick="changepic()"
    <input type="button"..onclick="changepic()".../>function changepic()
    {
        var url = "aa.aspx?para="+document.getElementById('else controlid').value;
        
    将该url赋值给图片控件
    }aa.aspx就是所谓的图片二进制数据流生成页面。
      

  7.   

    网页:inimage.aspx代码:
     protected void Page_Load(object sender, EventArgs e)
        {
            string kahao = "111";
            SqlConnection conn = new SqlConnection("server=.;database=REN;uid=dongjc;pwd=dongjc;");
            conn.Open();
            String sqlcmd = "select * from renzl where 卡号 = '"+kahao+"'";
            SqlCommand cmd = new SqlCommand(sqlcmd, conn);
            SqlDataReader sqlReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            sqlReader.Read();
            byte[] ImageData = (byte[])sqlReader["照片"];
            Response.BinaryWrite(ImageData);        Response.End();
            conn.Close();
        }网页Default.aspx代码:
    <asp:Image ID="Image1" runat="server" Height="145px" ImageUrl="~/inimage.aspx"Width="172px" />直接运行Default.aspx网页,Image1控件中可以显示"卡号"为"111"所对应的图片!现在在Default.aspx页中加一个Button1和一个TextBox1.TextBox1里输入卡号信息,点击Button1,改变Image1里的图片怎么实现,就是把TextBox1.text的值怎么传入inimage.aspx并运行.
      

  8.   

    假如button仅仅是为了改变图像而不执行其他后台操作,那么可以直接用html的button,在前台给该button加个onclick="changepic()" 
    <input type="button"..onclick="changepic()".../> function changepic() 

        var url = "aa.aspx?para="+document.getElementById('else controlid').value; 
        
    将该url赋值给图片控件 
    } aa.aspx就是所谓的图片二进制数据流生成页面。----
    我不是说的很明白了?
      

  9.   

    至于url赋值请参考http://topic.csdn.net/t/20060927/10/5050924.html
    建议直接使用html的img控件,因为Image最终解析成img