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