|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。datagrid|数据|数据库|显现有关ashx后缀名的文件请看打消图片在ie中缓存而没法更新的成绩相干文章
从数据库中读取和保留图片请看写进和读取图片(c#asp。netsqlserver)相干文章
上面使用ashx文件能够便利完成从数据库中读取图片并显现在datagrid傍边
//---------------------------------------BindImage.aspx----------------------------------------
<%@Pagelanguage="c#"Codebehind="BindImage.aspx.cs"AutoEventWireup="false"Inherits="ShowImage.BindImg"%>
<HTML>
<HEAD>
<title>BindImg</title>
</HEAD>
<body>
<formid="Form1"method="post"runat="server">
<FONTface="宋体">
<asp:DataGridid="MyDataGrid"runat="server"AutoGenerateColumns="False"Width="632px">
<AlternatingItemStyleBackColor="Beige"></AlternatingItemStyle>
<HeaderStyleHorizontalAlign="Center"></HeaderStyle>
<Columns>
<asp:TemplateColumnHeaderText="Photo">
<ItemTemplate>
<imgsrc=<%#"GetImage.ashx?ID="+DataBinder.Eval(Container.DataItem,"EmployeeID")%>>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumnDataField="LastName"HeaderText="LastName"></asp:BoundColumn>
<asp:BoundColumnDataField="FirstName"HeaderText="FirstName"></asp:BoundColumn>
<asp:BoundColumnDataField="title"HeaderText="Title"></asp:BoundColumn>
</Columns>
</asp:DataGrid></FONT>
</form>
</body>
</HTML>
//------------------------------------BindImage.aspx.cs---------------------------------------------
P>usingSystem;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;usingSystem.Data.SqlClient;
namespaceShowImage
{
///
///BindImg的择要申明。
///
publicclassBindImage:System.Web.UI.Page
{
protectedSystem.Web.UI.WebControls.DataGridMyDataGrid;
privatevoidPage_Load(objectsender,System.EventArgse)
{
//在此处安排用户代码以初始化页面
if(!Page.IsPostBack)
{
SqlConnectionconn=newSqlConnection(@"Server=shoutormydb;database=northwind;uid=sa;Pwd=shoutor");
try
{
conn.Open();
SqlCommandcmd=newSqlCommand("selectemployeeID,lastname,firstname,titlefromemployees",conn);
SqlDataReaderreader=cmd.ExecuteReader();
MyDataGrid.DataSource=reader;
MyDataGrid.DataBind();
}
finally
{
conn.Close();
}
}
}
#regionWeb窗体计划器天生的代码
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:该挪用是ASP.NETWeb窗体计划器所必须的。
//
InitializeComponent();
base.OnInit(e);
}
///
///计划器撑持所需的办法-不要利用代码编纂器修正
///此办法的内容。
///
privatevoidInitializeComponent()
{
this.Load+=newSystem.EventHandler(this.Page_Load);
}
#endregion
}
}
//-----------------------------GetImage.ashx---------------------------------------
<%@WebHandlerLanguage="C#"Class="ShowImage.GetImage"CodeBehind="GetImage.ashx.cs"%>
//--------------------------------GetImage.ashx.cs----------------------------------
usingSystem;
usingSystem.Web;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Drawing;
usingSystem.Drawing.Imaging;
usingSystem.IO;
namespaceShowImage
{
///
///GetImg的择要申明。
///
publicclassGetImage:IHttpHandler
{
publicvoidProcessRequest(HttpContextcontext)
{
stringid=(string)context.Request["id"];
if(id!=null)
{
MemoryStreamstream=newMemoryStream();
SqlConnectionconn=newSqlConnection(@"Server=;database=;uid=;Pwd=");
Bitmapbm=null;
Imageimage=null;
try
{
conn.Open();
SqlCommandcmd=newSqlCommand("selectphotofromemployeeswhereemployeeid="+id+"",conn);
byte[]blob=(byte[])cmd.ExecuteScalar();
stream.Write(blob,78,blob</p>asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。 |
|