DataGridShowImage.aspx
|
<%@ Page language="c#" debug="true" Codebehind="DataGridShowImage.aspx.cs" AutoEventWireup="false" Inherits="eMeng.Exam.DataGridShowImage.DataGridShowImage" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < HTML > < HEAD > < title >从数据库中取得照片并显示在DataGrid中</ title > < meta name = "GENERATOR" Content = "Microsoft Visual Studio 7.0" > < meta name = "CODE_LANGUAGE" Content = "C#" > < meta name = "vs_defaultClientScript" content = "JavaScript" > < meta name = "vs_targetSchema" content = "http://schemas.microsoft.com/intellisense/ie5" > </ HEAD > < body MS_POSITIONING = "GridLayout" > < form id = "DataGridShowImage" method = "post" runat = "server" > < h3 align = "center" >从数据库中取得照片并显示在DataGrid中</ h3 > < asp:DataGrid ID = "DG_Persons" AutoGenerateColumns = "False" Width = "99%" HeaderStyle-BackColor = "#ff0000" HeaderStyle-Font-Bold = "True" HeaderStyle-ForeColor = "#ffffff" ItemStyle-BackColor = "Beige" BorderColor = "#000000" Runat = "server" HeaderStyle-HorizontalAlign = "Center" > < Columns > < asp:TemplateColumn HeaderText = "姓名" > < ItemTemplate > < asp:Label Runat = "server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonName") %>' ID="Label1"/> </ ItemTemplate > </ asp:TemplateColumn > < asp:TemplateColumn HeaderText = "电子邮件" > < ItemTemplate > < asp:Label Runat = "server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonEmail") %>' ID="Label2"/> </ ItemTemplate > </ asp:TemplateColumn > < asp:TemplateColumn HeaderText = "性别" > < ItemTemplate > < asp:Label Runat = "server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonSex") %>' ID="Label3"/> </ ItemTemplate > </ asp:TemplateColumn > < asp:TemplateColumn HeaderText = "出生日期" > < ItemTemplate > < asp:Label Runat = "server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonDOB") %>' ID="Label4"/> </ ItemTemplate > </ asp:TemplateColumn > < asp:TemplateColumn HeaderText = "照片" > < ItemTemplate > < asp:Image Runat = server ID = "Image1" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "PersonID")) %>' /> </ ItemTemplate > </ asp:TemplateColumn > </ Columns > </ asp:DataGrid > </ form > </ body > </ HTML > DataGridShowImage.aspx.cs using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; namespace eMeng.Exam.DataGridShowImage { /// < summary > /// DataGridShowImage 的摘要说明。 /// </ summary > public class DataGridShowImage : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid DG_Persons; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!this.IsPostBack) { BindGrid(); } } private void BindGrid() { string strCnn = "Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;"; SqlConnection myConnection = new SqlConnection(strCnn); SqlCommand myCommand = new SqlCommand("SELECT * FROM Person", myConnection); myCommand.CommandType = CommandType.Text; try { myConnection.Open(); DG_Persons.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection); DG_Persons.DataBind(); } catch(SqlException SQLexc) { Response.Write("提取数据时出现错误:" + SQLexc.ToString()); } } protected string FormatURL(object strArgument) { return "ReadImage.aspx?id=" + strArgument.ToString(); } ReadImage.aspx <%@ Page language="c#" Codebehind="ReadImage.aspx.cs" AutoEventWireup="false" Inherits="eMeng.Exam.DataGridShowImage.ReadImage" %> ReadImage.aspx.cs using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Data.SqlClient; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace eMeng.Exam.DataGridShowImage { /// < summary > /// ReadImage 的摘要说明。 /// </ summary > public class ReadImage : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 string strImageID = Request.QueryString["id"]; SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;"); SqlCommand myCommand = new SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID=" + strImageID, myConnection); try { myConnection.Open(); SqlDataReader myDataReader; myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection); if(myDataReader.Read()) { Response.Clear(); Response.ContentType = myDataReader["PersonImageType"].ToString(); Response.BinaryWrite((byte[])myDataReader["PersonImage"]); } myConnection.Close(); } catch (SqlException SQLexc) { } Response.End(); } } } |