数据库图片:DataGrid中显示数据库中的图片来源: 发布时间:星期四, 2009年2月12日 浏览:113次 评论:0
上篇文章说了如何把图片保存到数据库中所以做了个例子将图片显示在DATAGRID前面说过了用Response.BinaryWrite只可以显示张图片现在用个DATAGRIDControl控件将图片显示在DATAGRID中IMAGEControl控件里(提示:下面例子没有做分页功能) 里面用了两个图片Control控件个是服务器端ImageButton,另个是客户端ImageControl控件 前台代码: <%@ 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\"> <meta name=\"vs_targetSchema\" content=\"http://schemas.microsoft.com/ellisense/ie5\"> </HEAD> <body MS_POSITIONING=\"GridLayout\"> <form id=\"Form1\" method=\"post\" runat=\"server\"> <table align=\"center\" border=\"1\" width=\"60%\"> <TBODY> <tr> <td align=\"center\"><font style=\"FONT-WEIGHT: bold; FONT-SIZE: 11pt\">DataGrid中显示数据库中图片</font></td> </tr> <tr> <td> <asp:DataGrid id=\"DataGrid1\" runat=\"server\" AutoGenerateColumns=\"False\" width=\"100%\"> <Columns> <asp:TemplateColumn> <ItemTemplate> <FONT face=\"宋体\"> <TABLE id=\"Table1\" cellSpacing=\"1\" cellPadding=\"1\" width=\"100%\" border=\"0\"> <TR> <TD colspan=\"2\"><FONT style=\"FONT-SIZE: 10pt\">图片名称:</FONT> <FONT style=\"FONT-SIZE: 10pt\"> <asp:Label id=\"lbImageName\" runat=\"server\" Text=\'<%# DataBinder.Eval(Container,\"DataItem.ImageName\")%>\'> </asp:Label></FONT></TD> </TR> <TR> <TD><FONT style=\"FONT-SIZE: 10pt\">图片:</FONT> <asp:Image id=Imagebutton1 Width=100 Height=100 runat=\"server\" ImageUrl=\'<%# \"ReadImage.aspx?ImageID=\"+DataBinder.Eval(Container,\"DataItem.ID\")%>\'> </asp:Image> </TD> <td> <IMG width=100 height=100 alt=\"\" src=\'<%# \"ReadImage.aspx?ImageID=\"+DataBinder.Eval(Container,\"DataItem.ID\")%>\'\"> </td> </TR> </TABLE> </FONT> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid></td> </tr> </TBODY> </table> </form> </body> </HTML> 后台代码: using ; using .Collections; using .ComponentModel; using .Data; using .Drawing; using .Web; using .Web.SessionState; using .Web.UI; using .Web.UI.WebControls; using .Web.UI.HtmlControls; using .Data.SqlClient; NetTest { /// <summary> /// DataGridImage 摘要介绍说明 /// </summary> public DataGridImage : .Web.UI.Page { protected .Web.UI.WebControls.DataGrid DataGrid1; private str=\"server=localhost;uid=sa;pwd=;database=northwind\"; private void Page_Load(object sender, .EventArgs e) { (!IsPostBack) { FillData; } } #region Web 窗体设计器生成代码 override protected void _disibledevent=>} #endregion private void FillData//绑定DATAGRID { SqlConnection cn= SqlConnection(str); SqlCommand cmd= SqlCommand; cmd.CommandText=\"SELECT * from UpImage\"; cmd.Connection=cn; cn.Open; SqlDataAdapter da= SqlDataAdapter; da.SelectCommand=cmd; DataSet ds= DataSet; da.Fill(ds,\"Images\"); DataGrid1.DataSource=ds.Tables[\"Images\"]; DataGrid1.DataBind; cn.Close; } } } ReadImage.aspx(根据传过来图片编号取得图片只要建个页面就可以了不用放置任何Control控件) 后台代码: using ; using .Collections; using .ComponentModel; using .Data; using .Drawing; using .Web; using .Web.SessionState; using .Web.UI; using .Web.UI.WebControls; using .Web.UI.HtmlControls; using .Data.SqlClient; NetTest { /// <summary> /// ReadImage 摘要介绍说明 /// </summary> public ReadImage : .Web.UI.Page { private void Page_Load(object sender, .EventArgs e) { conn=\"server=localhost;uid=sa;pwd=;database=northwind\"; SqlConnection cn= SqlConnection(conn); SqlCommand cmd= SqlCommand; cmd.CommandText=\"select Image from UpImage where ID=\'\"+this.Request[\"ImageID\"]+\"\'\"; cmd.Connection=cn; cn.Open; this.Response.ContentType=\"image/*\"; SqlDataReader dr=cmd.ExecuteReader; while(dr.Read) { this.Response.BinaryWrite(()dr[\"Image\"]); } cn.Close; } #region Web 窗体设计器生成代码 override protected void _disibledevent=>} #endregion } } 0
相关文章读者评论发表评论 |
|