六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

結(jié)合ashx來(lái)在DataGrid中顯示從數(shù)據(jù)庫(kù)中讀出的圖片

[摘要]有關(guān)ashx后綴名的文件請(qǐng)看 消除圖片在ie中緩存而無(wú)法更新的問(wèn)題 相關(guān)文章 從數(shù)據(jù)庫(kù)中讀取和保存圖片請(qǐng)看 寫入和讀取圖片(c# asp。net sqlserver) 相關(guān)文章 下面利用ashx文件可以方便實(shí)現(xiàn)從數(shù)據(jù)庫(kù)中讀取圖片并顯示在datagrid當(dāng)中 //------------------...

有關(guān)ashx后綴名的文件請(qǐng)看 消除圖片在ie中緩存而無(wú)法更新的問(wèn)題 相關(guān)文章

從數(shù)據(jù)庫(kù)中讀取和保存圖片請(qǐng)看 寫入和讀取圖片(c# asp。net sqlserver) 相關(guān)文章



下面利用ashx文件可以方便實(shí)現(xiàn)從數(shù)據(jù)庫(kù)中讀取圖片并顯示在datagrid當(dāng)中



//---------------------------------------BindImage.aspx ----------------------------------------

<%@ Page language="c#" Codebehind="BindImage.aspx.cs" AutoEventWireup="false" Inherits="ShowImage.BindImg" %>
<HTML>
<HEAD>
<title>BindImg</title>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<FONT face="宋體">
<asp:DataGrid id="MyDataGrid" runat="server" AutoGenerateColumns="False" Width="632px">
<AlternatingItemStyle BackColor="Beige"></AlternatingItemStyle>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="Photo">
<ItemTemplate>
<img src='<%# "GetImage.ashx?ID="+DataBinder.Eval(Container.DataItem,"EmployeeID")%>'>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="LastName" HeaderText="Last Name"></asp:BoundColumn>
<asp:BoundColumn DataField="FirstName" HeaderText="First Name"></asp:BoundColumn>
<asp:BoundColumn DataField="title" HeaderText="Title"></asp:BoundColumn>
</Columns>
</asp:DataGrid></FONT>
</form>
</body>
</HTML>

//------------------------------------BindImage.aspx.cs ---------------------------------------------

P>using System;
using System.Data;
using System.Drawing;
using System.Web; using System.Data.SqlClient;

namespace ShowImage
{
///
/// BindImg 的摘要說(shuō)明。
///
public class BindImage: System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid MyDataGrid;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置用戶代碼以初始化頁(yè)面
if(!Page.IsPostBack)
{
SqlConnection conn = new SqlConnection(@"Server=shoutor\mydb;database=northwind;uid=sa;Pwd=shoutor");
try
{
conn.Open();
SqlCommand cmd = new SqlCommand("select employeeID,lastname,firstname,title from employees",conn);
SqlDataReader reader = cmd.ExecuteReader();
MyDataGrid.DataSource = reader;
MyDataGrid.DataBind();
}
finally
{
conn.Close();
}
}
}
#region Web 窗體設(shè)計(jì)器生成的代碼
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設(shè)計(jì)器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///
/// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內(nèi)容。
///
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}


//-----------------------------GetImage.ashx ---------------------------------------

<%@ WebHandler Language="C#" Class="ShowImage.GetImage" CodeBehind="GetImage.ashx.cs" %>


//--------------------------------GetImage.ashx.cs----------------------------------

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

namespace ShowImage
{
///
/// GetImg 的摘要說(shuō)明。
///
public class GetImage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string id = (string)context.Request["id"];
if(id!=null)
{
MemoryStream stream = new MemoryStream();
SqlConnection conn = new SqlConnection(@"Server=;database=;uid=;Pwd=");
Bitmap bm = null;
Image image = null;
try
{
conn.Open();
SqlCommand cmd = new SqlCommand("select photo from employees where employeeid='"+id+"'",conn);
byte[] blob = (byte[])cmd.ExecuteScalar();
stream.Write (blob,78,blob.Length-78);
bm = new Bitmap(stream);

int width=48;
int height = (int)(width*((double)bm.Height/(double)bm.Width));


// GetThumbnailImage生成縮略圖
image = bm.GetThumbnailImage(width,height,null,IntPtr.Zero);

context.Response.ContentType = "image/jpeg";

image.Save(context.Response.OutputStream,ImageFormat.Jpeg);
}
finally
{
if(image!=null)
image.Dispose();
if(bm!=null)
bm.Dispose();
stream.Close();
conn.Close();
}
}
}

public bool IsReusable
{
get
{
return true;
}
}
}
}


ProcessRequest使用了空架類庫(kù)的易用的Image.GetThumbnailImage方法來(lái)把位圖縮小到寬度為48像素,同時(shí)保持圖象的長(zhǎng)寬比。可以使用類似的技術(shù)來(lái)創(chuàng)建顯示來(lái)自其他數(shù)據(jù)庫(kù)圖象的DataGrid。基本的思想是使用模板列來(lái)輸出一個(gè)引用某個(gè)HTTP處理句柄的<img>標(biāo)簽,并在查詢字符串中包含唯一標(biāo)識(shí)圖片所在的記錄的信息。之后,HTTP處理句柄使用ADO.NET來(lái)獲取圖象數(shù)據(jù)位,并使用GDI+(圖象設(shè)備接口+)來(lái)構(gòu)建圖象。




主站蜘蛛池模板: 日本欧美国产精品 | 视频二区中文字幕 | 伊人影视传媒有限公司 | 日韩av线观看 | 亚州免费 | 四虎最新网址 | 亚洲色网址 | 亚洲精品亚洲人成在线观看麻豆 | 在线视频欧美日韩 | 四虎影视免费永久在线观看 | 欧美一级视频在线观看欧美 | 亚洲资源在线播放 | 亚洲国产天堂久久综合226 | 四虎在线永久视频观看 | 欧美亚洲国产成人不卡 | 亚洲男人第一天堂 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片毛片 | 香港三级理论在线影院 | 天天摸夜夜添久久精品麻豆 | 青娱乐在线国产 | 天使萌一区二区三区免费观看 | 日韩啊啊啊 | 三级黄色在线免费观看 | 狍和美女一级aa毛片 | 天天拍拍夜夜出水 | 特a级黄色片 | 日韩aa| 日本欧美亚洲 | 欧美性色一级在线观看 | 日韩欧美亚洲综合 | 午夜国产精品影院在线观看 | 欧美无人区码卡二三卡四卡 | 亚洲高清综合 | 手机看片91精品一区 | 天天看片天天爽_免费播放 天天看片天天爽 | 五月婷婷综合基地 | 日韩色影院| 日本中文字幕乱码免费 | 天堂网传媒 | 日韩黄色大全 | 深爱开心激情 |