ASP基础知识一PPT课件

上传人:新** 文档编号:589081667 上传时间:2024-09-09 格式:PPT 页数:65 大小:1.55MB
返回 下载 相关 举报
ASP基础知识一PPT课件_第1页
第1页 / 共65页
ASP基础知识一PPT课件_第2页
第2页 / 共65页
ASP基础知识一PPT课件_第3页
第3页 / 共65页
ASP基础知识一PPT课件_第4页
第4页 / 共65页
ASP基础知识一PPT课件_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《ASP基础知识一PPT课件》由会员分享,可在线阅读,更多相关《ASP基础知识一PPT课件(65页珍藏版)》请在金锄头文库上搜索。

1、第第3章章ASP.NET基础知识教学过程qASP.NET的页面框架和页面类的介绍qASP.NET中存放各种程序文件的文件夹介绍qASP.NET核心对象的介绍q介绍ASP.NET的配置文件web.config和全局文件Global.asax。23.1页面管理ASP.NET页面是带.aspx扩展名的文本文件,可以被部署在IIS虚拟目录树之下。页面由代码和标签(tag)组成,它们在服务器上动态地编译和执行,为提出请求的客户端浏览器(或设备)生成显示内容。33.1.1ASP.NET页面代码模式q单一文件模式:页面的标签和代码在同一个.aspx文件中,程序代码包含在的服务器程序脚本代码块中间q代码分离模

2、式:把一个程序文件分为一个界面代码(.aspx)文件和一个控制代码(.aspx.cs)文件。4页面往返机制ASP.NET网页是作为代码在服务器上运行的,因此,要使页面中的按钮或其他内容得到处理,必须将该信息提交到服务器。每次页面提交时,都会在服务器端运行其代码,然后把运行的结果呈现给用户。5ASP.NET页面的处理流程如下:6在生命周期中,该页面将主要执行下列处理步骤:在生命周期中,该页面将主要执行下列处理步骤:q1.页面初始化引发该页的Page_Init事件,并还原该页和控件视图状态。q2.页面装载引发页面的Page_Load事件(在初始化之后)。q3.事件处理阶段q4.资源清理阶段页面生存

3、周期7Page.IsPostBack属性q获取一个布尔值,可以获取一个布尔值,可以检查.aspx页是否为传递回服务器的页面,用来判断页面是否是第一次被加载。qTrueTrue表示当前页是为响应客户端回发而加载,表示当前页是为响应客户端回发而加载,FalseFalse表示首次加载和访问。表示首次加载和访问。q程序privatevoidPage_Load(objectsender,System.EventArgse)if(!Page.IsPostBack)lblDate.Text=“Hello,World!”;从此处调用Page_Load事件/如果首次加载页面,才会执行括号内的操作83.2特殊文件

4、夹ASP.NET对程序进行设计将特定类型的文件存放在某些文件夹中,以方便在今后开发中的管理和操作。ASP.NET保留了一些文件名称和文件夹名称,程序开发人员可以直接使用,并且还可以在应用程序中增加任意多个文件和文件夹。93.2.1App_Data文件夹App_Data文件夹保存应用程序使用的数据库。它是一个集中存储应用程序所用数据库的地方。App_Data文件夹可以包含MicrosoftSQLExpress文件(.mdf)、MicrosoftAccess文件(.mdb)、XML文件等。103.2.2App_Code文件夹App_Code文件夹正好在Web应用程序根目录下,它存储所有应当作为应用

5、程序的一部分动态编译的类文件。这些类文件自动链接到应用程序,而不需要在页面中添加任何显式指令或声明来创建依赖性。App_Code文件夹中放置的类文件可以包含任何可识别的ASP.NET组件自定义控件、辅助类、build提供程序、业务类、自定义提供程序、HTTP处理程序等。113.2.3Bin文件夹Bin文件夹包含应用程序所需的,用于控件、组件或者需要引用的任何其他代码的可部署程序集。该目录中存在的任何.dll文件将自动地链接到应用程序。可以在Bin文件夹中存储编译的程序集,并且Web应用程序任意处的其他代码会自动引用该文件夹。典型的示例是您为自定义类编译好的代码,您可以将编译后的程序集复制到We

6、b应用程序的Bin文件夹中,这样所有页都可以使用这个类。12ASP.NET内置对象概述ASP.NET提供了6个可以直接使用的对象。如:Response、Request等,当Web应用程序运行时,这些对象可以用来维护有关当前应用程序、浏览器、Web服务器的活动状态等基本信息,并为浏览器与Web服务器的处理交互提供桥梁。13ASP.NET中常用的内置对象对象名象名功能功能说明明ResponseResponse用于向用于向浏览器器输出信息出信息RequestRequest用于用于获取来自取来自浏览器的信息器的信息ServerServer提供服提供服务器端的一些属性和方法器端的一些属性和方法Appli

7、cationApplication用于共享多个会用于共享多个会话和和请求之求之间的全局信息的全局信息SessionSession用于存用于存储特定用特定用户的会的会话信息信息CookiesCookies浏览器和服器和服务器之器之间传递的一小段信息,用的一小段信息,用来保存用来保存用户信息,可以被存在信息,可以被存在浏览器的本地器的本地硬硬盘中。中。14目标q使用Response对象q使用Request对象q使用Server对象q使用Session对象q使用Application对象q使用Cookie对象15Response对象q由类System.Web.HttpResponse来实现。提供对当

8、前页的输出流。q此类可用于:q向输出页面写入文本q将用户重新定向到另一个页面q有条件地结束应用程序连接q获取或设置输出流的属性值q。16Response:常用方法方法方法说明明Write用于向当前HTTP响应流写入文本,使其成为返回页面的一部分Redirect将用户从请求页面重新定向或带到另一页面WriteFile向浏览器输出文本文件expires浏览器上的缓冲存储的页距过期还有多久17Write方法qWriteWrite方法用来向客户端输出信息。例如:方法用来向客户端输出信息。例如:Response.Write(Response.Write(欢迎光临学习天地欢迎光临学习天地!)!)Respo

9、nse.Write(Response.Write(现在时间为:现在时间为: + + DateTime.Now.ToString();DateTime.Now.ToString();Redirect方法q用来重定向页面,例如:Response.Redirect(login.aspx);Response.Redirect(login.aspx);Response.Redirect(http:/ 请求中传送)。客户浏览器信息、ip地址等Request 对象的常用属性对象的常用属性21Form数据集合q用来获取客户端通过用来获取客户端通过POSTPOST方法传送的表单数据:方法传送的表单数据:22用来

10、获取客户端通过用来获取客户端通过GET方法传送的表单数据方法传送的表单数据客户端使用如下地址请求:客户端使用如下地址请求:http:/localhost/doit.aspx?name=zhangsan&sex=nan在在doit.aspx中就可以使用中就可以使用Request.QueryStringname和和Request.QueryStringsex来获取相应的来获取相应的值值zhangsan和和nan。QueryString数据集合23Request:Querystring 提交前提交前 privatevoidbtnSubmit_Click(objectsender,System.Eve

11、ntArgse)stringstrURL=;strURL=“TargetPage.aspx?Name=+txtName.Text+&pwd=+txtPwd.Text;Response.Redirect(strURL); Request:Querystring 提交前提交前 QueryString数据集合24HttpRequest:Querystring 提交后提交后 privatevoidPage_Load(objectsender,System.EventArgse)stringuserNm=Request.QueryStringName;Response.Write(欢迎);Respons

12、e.Write(userNm);Response.Write(你的密码是:+Request.QueryStringpwd);25Response_Request例子26Browser属性HttpBrowserCapabilitiesbc=Request.Browser;Response.Write(您所用的浏览器信息如下:);Response.Write(名称及版本:+bc.Type+);Response.Write(类型:+bc.Browser+);Response.Write(版本号:+bc.Version+);Response.Write(主版本号:+bc.MajorVersion+);

13、Response.Write(次版本号:+bc.MinorVersion+);Response.Write(平台:+bc.Platform+);Response.Write(是否为测试版:+bc.Beta+);Response.Write(是否为基于Win16计算机:+bc.Win16+);Response.Write(是否为基于Win32计算机:+bc.Win32+);Response.Write(是否支持HTML框架:+bc.Frames+);Response.Write(是否支持HTML表格:+bc.Tables+);Response.Write(是否支持Cookie:+bc.Cooki

14、es+);Response.Write(是否支持ActiveX:+bc.ActiveXControls+);27Browser属性28Request其它对象Response.Write(客户端浏览器:客户端浏览器:+Request.UserAgent+ );Response.Write(客户端客户端IP地址:地址:+Request.UserHostAddress+ );Response.Write(当前文件服务器端物理路径:当前文件服务器端物理路径:+Request.PhysicalApplicationPath );29Server对象Execute方法和Transfer方法HTMLEnco

15、de方法MapPath方法URLEncode方法方法方法通过通过Server对象可以访问服务器的方法和属性,获对象可以访问服务器的方法和属性,获取有关服务器的信息。其对应取有关服务器的信息。其对应HttpServerUtility类。类。30Server对象ExecuteTransferURL参数指定的页面处理完后,控制权会返回给先前的页面或调用此方法的页面,并且从此方法调用后的语句继续执行URL参数指定的页面处理完后,控制权不会返回给先前的页面,也不会返回给调用此方法的页面,并且在新页面完成执行时结束注意:Server对象的Transfer方法和Execute方法仅用于 Web窗体Execu

16、te方法和Transfer方法均会停止当前页面的执行,并将用户带到由此方法的参数URL指定的页面31Server对象privatevoidbtnExec_Click(objectsender,System.EventArgse)Server.Execute(ResponseProperties.aspx);lblForExecute.Text=客户端调用Execute方法之后!;privatevoidbtnTransfer_Click(objectsender,System.EventArgse)Server.Transfer(RequestProperties.aspx);lblForExe

17、cute.Text=“客户端调用Transfer 方法之后!;32Server对象HTMLEncode 方法:方法:q为了确保所有浏览器均能在URL字符串中正确地传送文本,需要使用HTML编码。HTMLEncode方法正是起这个作用的,它能将HTML标记按文本显示。q例如,如果输入文本包含“”字符,此方法会将这些字符转换为其对等的HTML字符,即分别为<和>,以便浏览器将这些字符正确地显示为“”HTMLEncode(String)要编码为HTML的文本语法33Server对象HTMLEncode的使用privatevoidPage_Load(objectsender,System.Ev

18、entArgse)Response.Write(测试表示用粗体显示);Response.Write();Response.Write(<B>测试</B>表示用粗体显示);Response.Write();Response.Write(Server.HtmlEncode(测试表示用粗体显示);34Server对象URLEncode 方法:方法:q在HTML编码中,将文本编码成相应的HTML是为了在浏览器中正确地显示q如果是要求可靠的HTTP传输通过URL将编码文本从Web服务器传送到客户端,该怎么办?q可使用URLEncode方法实现此目的。它将文本编码以便通过URL从W

19、eb服务器到客户端进行可靠的HTTP传输语法要编码为HTML传输的文本URLEncode(String)35Server对象privatevoidPage_Load(objectsender,System.EventArgse)stringMyURL;MyURL=http:/ + );Response.Write(这是用Response.Write(MyURL)的结果:+MyURL);36Server对象MapPath方法:qWeb应用程序位于IIS根目录下的虚拟目录中q因此,我们请求网页时,引用称为“虚拟路径”的虚拟目录路径。但是经常需要得到Web服务器上的Web资源的实际物理路径q用Map

20、Path方法,我们可从其虚拟路径得到Web资源(如.aspx页面)的物理路径MapPath(stringpath)Web服务器上的指定虚拟路径37MapPathResponse.Write(当前目录物理路径:+Server.MapPath(.)+);Response.Write(上级目录物理路径:+Server.MapPath(.)+);Response.Write(网站根物理路径:+Server.MapPath(/)+);Response.Write(“当前页面物理路径:+Server.MapPath(WebForm2.aspx);38Application、Session和Cookie对象

21、Application对象qASP.NET 应用程序是单个应用程序是单个 Web 服务器上的某个服务器上的某个虚拟目录及其子目录范围内的所有文件、页、处虚拟目录及其子目录范围内的所有文件、页、处理程序、模块和代码的总和。理程序、模块和代码的总和。q如果想在整个应用程序范围内存储一些所有用户如果想在整个应用程序范围内存储一些所有用户共享的信息,共享的信息,Application对象将是最佳的选择,对象将是最佳的选择,利用利用Application存储的变量和对象在整个应用程存储的变量和对象在整个应用程序内执行的所有序内执行的所有ASP.NET页面中都是可用的,并页面中都是可用的,并且值也是相同的

22、。且值也是相同的。40Application变量变量用于在应用程序执行时存储数据应用程序级会话级stringmyname=“张三;Response.Write(“欢迎+myname);41Lock和Unlock方法Lock()Lock()用于防止用户更改Application对象的属性Lock()可用作Application.Lock()UnLock()Unlock()方法用于释放对应用程序变量的锁定UnLock()可用作Application.UnLock()42向应用程序添加、更新和移除项方法方法说明明Add()向Application状态添加新对象。例如,下列代码会向应用程序状态添加项:

23、Application.Add(“Title”,“Articleboard”);或Application(“Title”)=“ArticleBoard”;Clear()从Application状态中移除所有对象Remove()从Application集合中按名称移除项。例如,下列代码移除Title项:Application.Remove(Title)43Global.asaxGlobal.asax文件(也称作ASP.NET应用程序文件),包含用于响应ASP.NET引发的应用程序级别事件的代码。Global.asax文件驻留在基于ASP.NET的应用程序的根目录中。44Global.asax事件

24、说明Application_Start当第一个页面被请求时Application_End应用程序的最后一个会话结束时触发。(IIS终止应用程序时)Application_BeginRequest每次页面请求开始时触发(页面刷新时)Application_EndRequest每次页面请求结束时(即每次在浏览器上执行页面时)触发Session_Start每次新的会话开始时触发Session_End会话结束时触发。45对象级变量protectedvoidApplication_Start(Objectsender,EventArgse)Application.Lock();ApplicationUs

25、erNum=0;Application.UnLock();protectedvoidSession_Start(Objectsender,EventArgse)Application.Lock();ApplicationUserNum=int.Parse(ApplicationUserNum.ToString()+1;Application.UnLock();protectedvoidSession_End(Objectsender,EventArgse)Application.Lock();ApplicationUserNum=int.Parse(ApplicationUserNum.ToS

26、tring()-1;Application.UnLock();46对象级变量privatevoidPage_Load(objectsender,System.EventArgse)/在此处放置用户代码以初始化页面Response.Write(你是第+ApplicationUserNum.ToString()+位访客);47Session对象q存储局部的、特定于用户的信息。存储局部的、特定于用户的信息。q当新用户请求应用程序的网页时,当新用户请求应用程序的网页时,ServerServer 对象会对象会检查用户是否有检查用户是否有 SessionIDSessionIDq对应于浏览器与服务器的同一次

27、会话,在浏览器对应于浏览器与服务器的同一次会话,在浏览器第一次请求应用程序的某个页面时,会话开始;第一次请求应用程序的某个页面时,会话开始;在会话超时或被关闭时,会话结束。在会话超时或被关闭时,会话结束。在用户会话在用户会话期间可以记录和监视特定于用户的信息期间可以记录和监视特定于用户的信息q可以在可以在Global.asaxGlobal.asax文件中编写文件中编写Session_StartSession_Start和和Session_EndSession_End事件处理程序。事件处理程序。48Session变量qSession变量与Application变量不同qSession变量仅提供给

28、会话中的特定用户qSession变量可用于存储在整个用户会话过程中都可以访问的值49privatevoidbtnLogin_Click(objectsender,System.EventArgse)if(this.txtName.Text.Trim()!=|this.txtPwd.Text.Trim()!=)if(this.txtName.Text=张三&this.txtPwd.Text=123456)SessionUserName=this.txtName.Text.Trim(); Response.Redirect(SessionVariableWelcome.aspx?pwd= +thi

29、s.txtPwd.Text );elseSessionUserName=;RegisterStartupScript(Check,alert(用户名或密码不对,请检查!用户名或密码不对,请检查!); );elseSessionUserName=;50使用示例privatevoidPage_Load(objectsender,System.EventArgse)if(SessionUserName.ToString().Trim()!=)Response.Write(alert(欢迎+SessionUserName+光临,你的密码是:+Requestpwd.ToString()+);elseRe

30、sponse.Redirect(SessionVariableNew.aspx);51使用示例52Session事件qSession_Start当新用户访问一个应用程序时会激活该事件qSession_End用户退出应用程序时,就会触发Session_End事件53Session属性Session 事件事件Session_StartSession_End属性说明SessionID包含一个唯一的用户会话标识符。它用于在会话过程中跟踪用户的信息。要检索SessionID,使用Session.SessionIDTimeOut设置用户超时,即它以分钟为单位指定Session对象在释放资源之前能够保持闲置

31、的时间。用户可导航至另一个站点而不用关闭该应用程序。如果设定了超时属性,则无人操作的用户会话可被清除,由此释放服务器的资源。默认值为20分钟。可通过在ASPX文件中赋值来更改此设置。例如,LCID用于设定本地标志符.它可存储本地信息,如日期、货币和时间格式。例如Session.LCID=0x040C将本地标识符设定为法国本地标识符IsNewSession若该会话是由当前请求创建的,该属性将返回值trueItem获取或设置会话值的名称Count获得会话状态集合中的项数54Cookie介绍qCookie俗称甜饼,可以在客户端长期保存信息。它是服务器端发送到客户端浏览器的文本串句柄,保存在客户的硬盘

32、上。q其是写入客户端的一些小文件,当用户再次访问某站点,应用程序检索以前保存的信息(个人信息,浏览器信息,何时访问过该站,从事哪些活动等)55Cookie的基本工作原理q假设用户请求访问网站上的某个页面时,应用程序发送给该用户的不仅仅只有一个页面,还有一个包含日期和时间信息的Cookie,用户的浏览器在获得页面的同时还得到了这个Cookie,并且将它保存在用户硬盘上的某个文件夹中。以后,如果该用户再次访问该网站上的页面,浏览器就会在用户本地硬盘上查找与该URL相关联的Cookie。如果该Cookie存在,浏览器就将它与页面请求一起发送到网站,应用程序就能读取Cookie信息从而能确定该用户上一

33、次访问网站的日期和时间。程序可以根据这些信息向用户输出相应的消息。56qCookie对象其实是:q利用Response对象的Cookies方法设置Cookies;q利用Request对象的Cookies获取方法来获取Cookies的值。属性:Expires:获取或设置此Cookie的过期日期和时间,默认1000分钟。Name:获取或设置Cookie的名称。Value:获取或设置单个Cookie值。57存储一个Cookie变量:Response.Cookie“name”.Value=“zhangsan”;读取一个Cookie变量:Request.Cookiename.Value;设置Cookie

34、到期时间:Response.Cookiename.Expires=#2008/10/1;58设置Cookie代码qHttpCookiemycookie=newHttpCookie(userage);mycookie.Value=23.ToString();mycookie.Expires=DateTime.Now.AddDays(3);Response.Cookies.Add(mycookie);HttpCookiemycookie=newHttpCookie(user);mycookie.Valuesusername=张三;mycookie.Valuesuserage=23.ToString

35、();mycookie.Expires=DateTime.Now.AddDays(3);Response.Cookies.Add(mycookie);Cookie的Value属性用来指定Cookie中保存的值,因为Cookie中的值都是以字符串的形式保存的,所以为Value指定值时,如果不是字符串类型的要进行类型转换。5960qprotectedvoidButton1_Click(objectsender,System.EventArgse)qqif(this.TextBox1.Text=su&this.TextBox2.Text=123)qSystem.Web.Security.FormsA

36、uthentication.RedirectFromLoginPage(this.TextBox1.Text,this.CheckBox1.Checked);qqelseqResponse.Write(无权访问);61privatevoidPage_Load(objectsender,System.EventArgse)/在此处放置用户代码以初始化页面intVisitNum;if(Request.CookiesVisitNum=null)VisitNum=0;elseVisitNum=Convert.ToInt32(Request.CookiesVisitNum.Value)+1;Respon

37、se.CookiesVisitNum.Value=VisitNum.ToString();this.Label1.Text=您是第+VisitNum+次访问本站;62Cookie的用途q最根本的用途是帮助Web应用程序保存有关访问者的信息。例如,购物网站上的Web服务器跟踪每个购物者,以便网站能够管理购物车和其它的用户相关信息;一个实施民意测验的网站可以简单地利用Cookie作为布尔值,表示用户的浏览器是否已经参与了投票,从而避免重复投票;而那些要求用户登录的网站则可以通过Cookie来确定用户是否已经登录过,这样用户就不必每次都输入凭据。因此Cookie的作用就类似于名片,它提供了相关的标识信息,可以帮助应用程序确定如何继续执行。63使用Cookie的限制q大多数浏览器支持最多可达4096字节的Cookie,如果要将为数不多的几个值保存到用户计算机上,这一空间已经足够大,但不能用一个Cookie来保存数据集或其他大量数据。q浏览器限制每个站点可以在用户计算机上保存的Cookie数。q用户可以设置自己的浏览器,拒绝接受Cookie。q所以:应用程序不应该依赖于Cookie。64放映结束 感谢各位的批评指导! 谢谢 谢!谢!让我们共同进步

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号