仓酷云

标题: ASP网页设计分离ashx来在DataGrid中显现从数据库中... [打印本页]

作者: 小魔女    时间: 2015-1-16 23:10
标题: ASP网页设计分离ashx来在DataGrid中显现从数据库中...
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可以完成无比强大的功能。
作者: 灵魂腐蚀    时间: 2015-1-20 07:47
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
作者: 透明    时间: 2015-1-26 21:15
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 飘飘悠悠    时间: 2015-2-1 10:21
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
作者: 仓酷云    时间: 2015-2-7 03:38
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
作者: 蒙在股里    时间: 2015-2-20 04:30
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
作者: 再见西城    时间: 2015-3-6 16:23
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
作者: 爱飞    时间: 2015-3-13 04:09
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
作者: 愤怒的大鸟    时间: 2015-3-20 12:22
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2