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

王朝c#·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

在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();

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航