ASP-NET-4.5动态网站开发基础教程课件.ppt

上传人:飞****2 文档编号:69937449 上传时间:2023-01-12 格式:PPT 页数:56 大小:138KB
返回 下载 相关 举报
ASP-NET-4.5动态网站开发基础教程课件.ppt_第1页
第1页 / 共56页
ASP-NET-4.5动态网站开发基础教程课件.ppt_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《ASP-NET-4.5动态网站开发基础教程课件.ppt》由会员分享,可在线阅读,更多相关《ASP-NET-4.5动态网站开发基础教程课件.ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2023年1月11日第1页第第4章章 ASP.NET内置对象内置对象 ASP.NET动态网站开发教程(动态网站开发教程(第三版第三版)清华大学出版社清华大学出版社2023年1月11日第2页教学目标教学目标l了解了解ASP.NET对象的概况及其属性、方法和对象的概况及其属性、方法和事件事件l了解并掌握常用内部对象的概念和他们的属了解并掌握常用内部对象的概念和他们的属性、方法性、方法2023年1月11日第3页第第4章章 ASP.NET 4.5常用对象常用对象l4.1 ASP.NET对象的概况及属性方法事件对象的概况及属性方法事件l4.2 Request对象对象l4.3 Response对象对象l4

2、.4 Cookie对象对象l4.5 Session对象对象l4.6 Application对象对象l4.7 Server对象对象l4.8 ViewState对象对象2023年1月11日第4页4.1 ASP.NET对象的概况及属性方对象的概况及属性方法事件法事件 PagePage页页面面对对象,用于整个象,用于整个页页面的操作面的操作RequestRequest从客从客户户端端获获取信息取信息ResponseResponse向客向客户户端端输输出信息出信息SessionSession存存储储特定用特定用户户的信息的信息ApplicationApplication存存储储同一个同一个应应用程序中所

3、有用用程序中所有用户户之之间间的共享的共享信息信息ServerServer创创建建COMCOM组组件和件和进进行有关行有关设设置置CookieCookie用于保存用于保存CookieCookie信息信息2023年1月11日第5页4.2 Request对象对象l4.2.1Request对象简介对象简介l4.2.2使用使用QueryString属性属性l4.2.3 使用Path属性l4.2.4 使用UserHostAddress属性l4.2.5 使用Browser属性l4.2.6 ServerVariables属性l4.2.7 ClientCertificate属性2023年1月11日第6页4.2

4、.1Request对象简介对象简介l Request对象是由对象是由System.Web.HttpRequest类实现的,用类实现的,用来获取客户端信息。语法如下:来获取客户端信息。语法如下:l Request.属性属性|方法方法 变量或字符串变量或字符串 2023年1月11日第7页4.2.2使用使用QueryString属性属性lQueryString属性可以获取标识在属性可以获取标识在URL后面后面的所有返回的变量及其值。的所有返回的变量及其值。2023年1月11日第8页4.2.3 使用Path属性l通过使用通过使用Path的方法可以获取当前请求的的方法可以获取当前请求的虚拟路径,示例代码

5、如下。虚拟路径,示例代码如下。l Label2.Text=Request.Path.ToString();/获取请获取请求路径求路径2023年1月11日第9页4.2.4 使用UserHostAddress属性l通过使用通过使用UserHostAddress的方法,可以的方法,可以获取远程客户端获取远程客户端IP主机的地址,示例代码如主机的地址,示例代码如下。下。l Label1.Text=Request.UserHostAddress;2023年1月11日第10页4.2.5 使用Browser属性l首先就要判断客户端浏览器的特性,首先就要判断客户端浏览器的特性,Request对象的对象的Bro

6、wser属性就可以方便地属性就可以方便地获取客户端浏览器的特性,如类型、版本、获取客户端浏览器的特性,如类型、版本、是否支持背景音乐等。是否支持背景音乐等。l语法格式如下:语法格式如下:lRequest.Browser 浏览器特性名称浏览器特性名称 2023年1月11日第11页2023年1月11日第12页4.2.6ServerVariables属性属性l利用利用Request对象的对象的ServerVariables属性可属性可以方便地取得服务器端或客户端的环境变量以方便地取得服务器端或客户端的环境变量信息,如客户端的信息,如客户端的IP地址等。地址等。语法如下:语法如下:Request.Se

7、rverVariables 环境变量名称环境变量名称2023年1月11日第13页4.2.7ClientCertificate属性属性l如果客户端浏览器支持如果客户端浏览器支持SSL 3.0或或PCT1协协议,可以利用议,可以利用ClientCertificate属性获取当属性获取当前请求的客户端安全证书。前请求的客户端安全证书。语法如下:语法如下:Request.ClientCertificate 关键字关键字2023年1月11日第14页4.3 Response对象对象l4.3.1Response对象简介对象简介l4.3.2利用利用Write方法输出信息方法输出信息l4.3.3使用使用Redi

8、rect方法引导客户至另方法引导客户至另 一一 个个URL位置位置l4.3.4关于关于BufferOutput属性属性l4.3.5输出缓存资料输出缓存资料l4.3.6WriteFile方法方法2023年1月11日第15页4.3.1Response对象简介对象简介l Response对象由对象由System.Web.HttpResponse类实现,用类实现,用来控制输出给客户端的信息。来控制输出给客户端的信息。2023年1月11日第16页4.3.2利用利用Write方法输出信息方法输出信息l利用利用Write方法就可以在客户端输出信息,方法就可以在客户端输出信息,语法为:语法为:Response

9、.Write(变量数据或字符串变量数据或字符串)Response.Write(user_name&您好您好)/user_name是一个变量,表示用户名是一个变量,表示用户名 Response.Write(业精于勤而荒于嬉业精于勤而荒于嬉)/输出字符串输出字符串2023年1月11日第17页4.3.3使用使用Redirect方法引导客户方法引导客户 至另一个至另一个URL位置位置l使用使用Redirect方法就可以自动引导客户至方法就可以自动引导客户至另一个页面,语法如下:另一个页面,语法如下:Response.Redirect(网址变量或字符串网址变量或字符串)l Response.Redire

10、ct(http:/)/引导至中国教育引导至中国教育网网l Response.Redirect(index.aspx)/引导至网站内的另一个页面引导至网站内的另一个页面index.aspx2023年1月11日第18页4.3.4关于关于BufferOutput属性属性lBufferOutput属性用来设置页面中是否使用属性用来设置页面中是否使用缓存技术。语法如下:缓存技术。语法如下:Response.BufferOutput=True|False2023年1月11日第19页4.3.5输出缓存资料输出缓存资料lResponse对象可通过对象可通过Flush、End方法将方法将缓冲区中的数据输出显示到

11、客户端,但缓冲区中的数据输出显示到客户端,但Flush方法没有停止页面程序的执行,而方法没有停止页面程序的执行,而End方法则会停止页面程序的执行。方法则会停止页面程序的执行。2023年1月11日第20页4.3.6WriteFile方法方法lResponse对象的对象的WriteFile方法与方法与Write方法一方法一样,都是向客户端输出数据。样,都是向客户端输出数据。Write方法是输出方法是输出这个方法中带的字符串,而这个方法中带的字符串,而WriteFile方法则可方法则可以输出二进制信息,它不进行任何字符转换,以输出二进制信息,它不进行任何字符转换,直接输出。其语法为:直接输出。其语

12、法为:Response.WriteFile(变量或字符串变量或字符串)2023年1月11日第21页4.4 Cookie对象对象l4.4.1 Cookie对象简介l4.4.2 Cookie对象的属性和方法l4.4.3 Cookie对象的使用l4.4.4 检测用户是否启用了Cookie2023年1月11日第22页4.4.1 Cookie对象简介lCookie对象是由对象是由System.Web.HttpCookie类实现的,是一种可以在客户类实现的,是一种可以在客户端保存信息的方法。端保存信息的方法。lCookie有两种形式:会话有两种形式:会话Cookie和永久和永久Cookie。会话。会话Co

13、okie是临时性的,只有浏是临时性的,只有浏览器打开时才存在,一旦会话结束或超时,览器打开时才存在,一旦会话结束或超时,这个这个Cookie就不存在了。永久就不存在了。永久Cookie则是则是永久性地存储在用户的硬盘上,并在指定永久性地存储在用户的硬盘上,并在指定的日期之前一直可用。的日期之前一直可用。2023年1月11日第23页4.4.2 Cookie对象的属性和方法Cookie对象的属性如下所示:对象的属性如下所示:lName:获取或设置:获取或设置Cookie的名称。的名称。lValue:获取或设置:获取或设置Cookie的的Value。lExpires:获取或设置:获取或设置Cooki

14、e的过期的日期和事件。的过期的日期和事件。lVersion:获取或设置:获取或设置Cookie的符合的符合HTTP维护状态的版本。维护状态的版本。Cookie对象的方法如下所示:对象的方法如下所示:lAdd:增加:增加Cookie变量。变量。lClear:清除:清除Cookie集合内的变量。集合内的变量。lGet:通过变量名称或索引得到:通过变量名称或索引得到Cookie的变量值。的变量值。lRemove:通过:通过Cookie变量名称或索引删除变量名称或索引删除Cookie对象。对象。lSet:用于更新:用于更新Cookie的变量值。的变量值。2023年1月11日第24页4.4.3 Cook

15、ie对象的使用l浏览器负责管理用户系统上的浏览器负责管理用户系统上的 Cookie。ASP.NET包含两个内部包含两个内部Cookie集合:集合:Request对象的对象的Cookies集合和集合和Response对对象的象的Cookies集合。集合。2023年1月11日第25页l有两种方法可以向用户计算机写入有两种方法可以向用户计算机写入 Cookie。可以直接为可以直接为 Cookies 集合设置集合设置 Cookie 属属性,也可以创建性,也可以创建 HttpCookie 对象的一个实对象的一个实例并将该实例添加到例并将该实例添加到 Cookies 集合中。集合中。2023年1月11日第

16、26页4.4.4 检测用户是否启用了Cookiel最直接的检测方法就是在客户端保存一个最直接的检测方法就是在客户端保存一个Cookie,然后立即访问这个,然后立即访问这个Cookie。如果。如果这个这个Cookie的值与原来保存的值相同,说的值与原来保存的值相同,说明明Cookie没有被禁止;如果不同,就说明没有被禁止;如果不同,就说明客户禁止了客户禁止了Cookie。l另外,还要注意的是:虽然另外,还要注意的是:虽然 Cookie 在应用在应用程序中非常有用,但应用程序不应只依赖程序中非常有用,但应用程序不应只依赖Cookie,不要使用,不要使用 Cookie 支持关键功能。支持关键功能。2

17、023年1月11日第27页4.5 Session对象对象l4.5.1Session对象简介对象简介l4.5.2 Session对象的使用l4.5.3 Session_Start和和Session_End事件事件 l4.5.4Timeout属性属性l4.5.5Abandon方法方法l4.5.6使用使用Session对象的注意事项对象的注意事项2023年1月11日第28页4.5.1Session对象简介对象简介lSession对象是由对象是由System.Web.HttpSessionState类实现的,用来记载特类实现的,用来记载特定客户的信息。即使该客户从一个页面跳定客户的信息。即使该客户从一

18、个页面跳转到另一个页面,该转到另一个页面,该Session信息仍然存在,信息仍然存在,客户在该网站的任何一个页面都可以存取客户在该网站的任何一个页面都可以存取Session信息。如图信息。如图6-5所示:所示:2023年1月11日第29页2023年1月11日第30页4.5.1Session对象简介对象简介 Session对象的属性主要有下面四个:对象的属性主要有下面四个:lSessionID:对于不同的用户会话,:对于不同的用户会话,SessionID是唯一的,只读属性是唯一的,只读属性lTimeout:Session的有效期时长,即一个的有效期时长,即一个会话结束之前会等待用户没有任何活动的

19、会话结束之前会等待用户没有任何活动的最长时间,默认为最长时间,默认为20分钟。分钟。lKeys:根据索引号获取变量值:根据索引号获取变量值lCount:获取会话状态集合中的项数:获取会话状态集合中的项数2023年1月11日第31页4.5.1Session对象简介对象简介 方法主要有:方法主要有:lAbandon:清除:清除Session对象。对象。常用的事件有常用的事件有Session_OnStart(在开始一(在开始一个新会话时引发)和个新会话时引发)和Session_OnEnd(在(在会话被放弃或过期时引发),需要和后面会话被放弃或过期时引发),需要和后面介绍的介绍的Global.asax

20、文件结合使用。文件结合使用。2023年1月11日第32页4.5.2 Session对象的使用l利用利用Session存储信息其实很简单,可以把存储信息其实很简单,可以把变量或字符串等信息很容易地保存在变量或字符串等信息很容易地保存在Session中。语法:中。语法:Session Session名字名字=变量、常量、变量、常量、字符串或表达式字符串或表达式 Session user_name=hisname Session age=18 Session school=清华大学清华大学2023年1月11日第33页4.5.3 Session_Start和和Session_End事件事件lSessi

21、on_Start事件在事件在Session对象开始时被触发。对象开始时被触发。通过通过Session_Start事件可以统计应用程序当前事件可以统计应用程序当前访问的人数,同时也可以进行一些与用户配置相访问的人数,同时也可以进行一些与用户配置相关的初始化工作。关的初始化工作。protected void Session_Start(object sender,EventArgs e)Application online=Application online+1;/在线人数加在线人数加1 2023年1月11日第34页protected void Session_End(object sender

22、,EventArgs e)Application online=Application online-1;/在线人数减在线人数减1 2023年1月11日第35页4.5.4Timeout属性属性lSession对象有它的有效期,默认为对象有它的有效期,默认为20分钟。分钟。客户端如果超出客户端如果超出20分钟没有和服务器端交分钟没有和服务器端交互(比如开着计算机离开了)或者关闭了互(比如开着计算机离开了)或者关闭了浏览器,服务器就会销毁这些浏览器,服务器就会销毁这些Session对象,对象,以释放这些以释放这些Session对象所占用的内存空间。对象所占用的内存空间。l Session.Time

23、out=整数(分钟)整数(分钟)2023年1月11日第36页4.5.5Abandon方法方法l一旦调用一旦调用 Abandon 方法,当前会话不再有方法,当前会话不再有效,同时会启动新的会话。语法为:效,同时会启动新的会话。语法为:Session.Abandon()2023年1月11日第37页4.5.6 使用使用Session对象的注意事项对象的注意事项l在在ASP.NET中,中,Session对象的存储位置对象的存储位置有三个选择:有三个选择:像早期的像早期的ASP版本一样,存版本一样,存储在服务器的内存中;储在服务器的内存中;存储在存储在SQL Server数据库中;数据库中;存储在状态服

24、务器中。存储在状态服务器中。l总之,无论使用什么方法,都会使用服务总之,无论使用什么方法,都会使用服务器的资源来存储器的资源来存储Session信息。信息。2023年1月11日第38页4.6 Application对象对象l4.6.1Application对象简介对象简介l4.6.2利用利用Application对象存储信息对象存储信息l4.6.3Global.asax文件文件2023年1月11日第39页4.6.1 Application对象简介对象简介l Application对象由对象由System.Web.HttpApplicationState类实现,用来保存所类实现,用来保存所有客户

25、的公共信息。有客户的公共信息。2023年1月11日第40页4.6.1 Application对象简介对象简介 Application对象也有它的事件和方法。方法对象也有它的事件和方法。方法有下面几个:有下面几个:lLock:锁定:锁定Application对象以促进访问同步。对象以促进访问同步。lUnlock:解除锁定。:解除锁定。lAdd:新增一个:新增一个Application对象变量。对象变量。lClear:清除全部的:清除全部的Application对象变量。对象变量。2023年1月11日第41页4.6.1 Application对象简介对象简介l Remove:使用变量名称移除一个:

26、使用变量名称移除一个Application对象变量。对象变量。常用事件有常用事件有Application_Start和和Application_End两个,也要和后面介绍的两个,也要和后面介绍的Global.asax结合使用。结合使用。2023年1月11日第42页4.6.2 利用利用Application对象存储信息对象存储信息l Application的使用方法和的使用方法和Session非常类似,非常类似,可以把变量、字符串等信息很容易地保存在可以把变量、字符串等信息很容易地保存在Application中。语法如下:中。语法如下:Application Application名字名字=变量

27、、常量、变量、常量、字符串或表达式字符串或表达式2023年1月11日第43页4.6.2 利用利用Application对象存储信息对象存储信息l或者也可以直接把变量、字符串等信息保存在或者也可以直接把变量、字符串等信息保存在Application中,代码如下所示。中,代码如下所示。Application.Lock()Application user_name=user_num /将将user_num变量存入变量存入Application Application city=南京南京 /将字符串信息存入将字符串信息存入Application Application.Unlock()2023年1月1

28、1日第44页4.6.2 利用利用Application对象存储信息对象存储信息l Lock 方法和方法和Unlock方法是很重要的,因方法是很重要的,因为任何客户都可以存取为任何客户都可以存取Application对象,对象,如果正好有两个客户同时更改一个如果正好有两个客户同时更改一个Application对象的值怎么办?可以利用对象的值怎么办?可以利用Lock 方法先将方法先将Application对象锁定。以对象锁定。以防止其他客户更改。更改后,再利用防止其他客户更改。更改后,再利用Unlock方法解除锁定。不过,读取方法解除锁定。不过,读取Application对象时就没必要这样了。对象

29、时就没必要这样了。2023年1月11日第45页4.6.3Global.asax文件文件lGlobal.asax 文件(也称为文件(也称为 ASP.NET 应用应用程序文件)是一个可选的文件,该文件包程序文件)是一个可选的文件,该文件包含响应含响应 ASP.NET 或或 HTTP 模块所引发的模块所引发的应用程序级别和会话级别事件的代码。应用程序级别和会话级别事件的代码。Global.asax 文件驻留在文件驻留在 ASP.NET 应用程应用程序的根目录中。序的根目录中。l每个每个ASP.NET应用程序都可以有一个应用程序都可以有一个Global.asax文件。一旦将其放在适当的虚文件。一旦将其

30、放在适当的虚拟目录中拟目录中ASP.NET就会把它识别出来并且就会把它识别出来并且会自动使用该文件。会自动使用该文件。2023年1月11日第46页6.7 Server对象对象l4.7.1Server对象简介对象简介l4.7.2 MachineName属性l4.7.3ScriptTimeout属性属性l4.7.4CreateObject方法方法l4.7.5Execute方法方法l4.7.6Transfer方法方法l4.7.7 HtmlDecode方法和HtmlEncode方法l4.7.8MapPath方法方法l4.7.9URLEncode方法方法2023年1月11日第47页4.7.1Server

31、对象简介对象简介lServer对象由对象由System.Web.HttpServerUtility类实现,它提供了一些非常类实现,它提供了一些非常有用的属性和方法,主要用于创建有用的属性和方法,主要用于创建COM对象对象和和Scripting组件、转化数据格式、管理其他组件、转化数据格式、管理其他页的执行。语法为:页的执行。语法为:Server.方法方法(变量或字符串变量或字符串)Server.属性属性=属性值属性值2023年1月11日第48页4.7.2 MachineName属性l使用使用MachineName属性获取服务器名称。属性获取服务器名称。2023年1月11日第49页4.7.3Sc

32、riptTimeout属性属性l该该属属性性用用来来规规定定脚脚本本文文件件执执行行的的最最长长时时间间,默默认认为为90秒秒。如如果果超超出出最最长长时时间间脚脚本本文文件件还还没没有有执执行行完完,就就自自动动停停止止执执行行。这这样样可可以以防防止止某某些些可可能能进进入入死死循循环环的的错错误误导导致致服服务器过载问题。务器过载问题。2023年1月11日第50页4.7.4CreateObject方法方法l该方法可以用于创建组件、应用程序或脚本对象该方法可以用于创建组件、应用程序或脚本对象的实例。在的实例。在ASP.NET中该方法用得不多,语法如中该方法用得不多,语法如下:下:Serve

33、r.CreateObject(ActiveX Server组件组件)如:如:Object MyObject;MyObject=Server.CreateObject(Acme.Component.3);2023年1月11日第51页4.7.5Execute方法方法l该方法用来停止执行当前网页,转到新的该方法用来停止执行当前网页,转到新的网页执行,执行完后返回原网页,继续执网页执行,执行完后返回原网页,继续执行行Execute方法后面的语句。语法如下:方法后面的语句。语法如下:Server.Execute(变量或字符串变量或字符串)2023年1月11日第52页4.7.6Transfer方法方法l该

34、方法和该方法和Execute方法非常相似,唯一的区方法非常相似,唯一的区别是执行完新的网页后,并不返回原网页,别是执行完新的网页后,并不返回原网页,而是停止执行过程。语法如下:而是停止执行过程。语法如下:Server.Transfer(变量或字符串变量或字符串)2023年1月11日第53页4.7.7 HtmlDecode方法和HtmlEncode方法l在在ASP.NET中,默认编码是中,默认编码是UTF-8,所以在使用,所以在使用Session和和Cookie对象保存中文字符或者其他字对象保存中文字符或者其他字符集时经常会出现乱码,为了避免乱码的出现,符集时经常会出现乱码,为了避免乱码的出现,

35、可以使用可以使用HtmlDecode和和HtmlEncode方法进行方法进行编码和解码。编码和解码。HtmlEncode方法用来转化字符串,方法用来转化字符串,它可以将字符串中的它可以将字符串中的HTML标记转换为字符实体,标记转换为字符实体,如将如将“”转换为转换为“>;”。他们的语法格式如下:。他们的语法格式如下:lServer.HtmlEncode(变量或字符串变量或字符串)lServer.HtmlDecode(变量或字符串变量或字符串)2023年1月11日第54页4.7.8MapPath方法方法l利用利用MapPath方法,就可以将虚拟路径转方法,就可以将虚拟路径转化为物理路径。语

36、法如下:化为物理路径。语法如下:Server.MapPath(虚拟路径字符串虚拟路径字符串)2023年1月11日第55页4.7.9URLEncode方法方法l该方法也是用来转化字符串的,它可以将该方法也是用来转化字符串的,它可以将其中的特殊字符,像其中的特殊字符,像?、&、/和空格等转和空格等转化为化为URL编码,如把空格转化为它的编码,如把空格转化为它的URL编码编码“+”。语法如下:。语法如下:Server.URLEncode(字符串字符串)4.8 ViewState对象对象lViewState(视图状态视图状态)对象是对象是Page对象的一对象的一个属性,是状态管理中常用的一种对象,个属性,是状态管理中常用的一种对象,可以用来保存页和控件的值。视图状态是可以用来保存页和控件的值。视图状态是ASP.NET页框架默认情况下用于保存往返页框架默认情况下用于保存往返过程之间的页面信息以及控件值的方法。过程之间的页面信息以及控件值的方法。2023年1月11日第56页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁