如何读取保存在数据库中的图片显示在DataGrid中

在DataGrid中有一个模板列,里面放置了一个ImageButton控件,当然Image也可以。你首先必须绑定DataGrid才能在使用DataBinder.Eval(Container,"DataItem.BookGuid")等
如下:
<asp:Image id=Imagebutton1 runat="server" ImageUrl='<%# "BookCover.aspx?ImageID="+DataBinder.Eval(Container,"DataItem.BookGuid")%>'></asp:Image>

//这里是把图片的编号传到一个取图片的页面里,然后连接到图片上的,注意这里用的是ImageUrl,不是平常文本框用的text
BookCover.aspx页面

private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   string str=System.Configuration.ConfigurationSettings.AppSettings["cn"];//得到Webconfig里的连接字符串
   SqlConnection cn=new SqlConnection(str);
   SqlCommand cmd=new SqlCommand();
   cmd.CommandText="select Cover from Books where BookGuid='"+this.Request["ImageID"]+"'";//取得数据库中的图片
   cmd.Connection=cn;
   cn.Open();
   this.Response.ContentType="image/*";//设置类型
   SqlDataReader dr=cmd.ExecuteReader();
   while(dr.Read())
   {
    this.Response.BinaryWrite((byte[])dr["Cover"]);//读取后转换为字节数组
   }
   cn.Close();
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值