ASP.NET程序设计教程 C#版 教学课件 ppt 作者 崔淼 第6章 ASP.NET内置对象和状态管理

上传人:E**** 文档编号:89192689 上传时间:2019-05-21 格式:PPT 页数:32 大小:372KB
返回 下载 相关 举报
ASP.NET程序设计教程 C#版  教学课件 ppt 作者 崔淼 第6章 ASP.NET内置对象和状态管理_第1页
第1页 / 共32页
ASP.NET程序设计教程 C#版  教学课件 ppt 作者 崔淼 第6章 ASP.NET内置对象和状态管理_第2页
第2页 / 共32页
ASP.NET程序设计教程 C#版  教学课件 ppt 作者 崔淼 第6章 ASP.NET内置对象和状态管理_第3页
第3页 / 共32页
ASP.NET程序设计教程 C#版  教学课件 ppt 作者 崔淼 第6章 ASP.NET内置对象和状态管理_第4页
第4页 / 共32页
ASP.NET程序设计教程 C#版  教学课件 ppt 作者 崔淼 第6章 ASP.NET内置对象和状态管理_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《ASP.NET程序设计教程 C#版 教学课件 ppt 作者 崔淼 第6章 ASP.NET内置对象和状态管理》由会员分享,可在线阅读,更多相关《ASP.NET程序设计教程 C#版 教学课件 ppt 作者 崔淼 第6章 ASP.NET内置对象和状态管理(32页珍藏版)》请在金锄头文库上搜索。

1、第6章 ASP.NET内置对象和状态管理,本章讲述的主要内容 6.1 Page对象 6.2 Response对象 6.3 Request对象 6.4 Server对象 6.5 ASP.NET状态管理,6.1 Page对象,6.1.1 Page对象的常用属性、方法和事件 1. Page对象的属性,6.1 Page对象,6.1.1 Page对象的常用属性、方法和事件 2. Page对象的常用方法和事件,6.1 Page对象,6.1.2 Web窗体页面的生命周期 1) 初始化:该阶段将触发Page对象的Init事件,并执行OnInit方法。该阶段在Web窗体的生存周期内仅此一次。 2) 加载视图状态

2、:该阶段主要执行LoadViewState()方法 3) 处理回发数据:该阶段主要执行LoadPostData()方法,用来检查客户端发回的控件数据的状态是否发生了变化。 4) 加载:该阶段将触发Load事件,并执行Page_Load方法。 5) 预呈现:该阶段要处理在最终呈现之前所做的各种状态更改。 6) 保存状态:该阶段的任务是将当前状态写入ViewState属性。 7) 呈现:该阶段将对应的HTML代码写入最终响应的流中。 8) 处置:该阶段将执行Dispose方法,释放占用的系统资源。 9) 卸载:这是Web窗体生命周期的最后一个阶段,在这个阶段中将触发UnLoad事件,执行OnUnL

3、oad方法,以处理Web窗体在消亡前的最后处理。,6.1 Page对象,6.1.3 Page对象的Load事件与Init事件比较 Page对象的Init事件和Load事件都发生在页面加载的过程中,但在Page对象的生存周期中Init事件只有在页面初始化时被触发一次,而Load事件在初次加载及每次回发中都会被触发。当用户单击页面中按钮时引起回发,使Load事件处理代码再次被执行,故ListBox1中的列表项出现了重复。,6.2 Response对象,6.2.1 Response对象的常用属性和方法 Response对象常用的属性见表6-4。,6.2 Response对象,6.2.1 Respon

4、se对象的常用属性和方法 Response对象的常用方法见表6-5。,6.2 Response对象,6.2.2 使用Response对象输出信息到客户端 1. 使用Write方法 Write方法的语法格式如下: Response.Write(string); 2. 使用WriteFile方法 使用Response对象的WriteFile方法可以将指定的文件内容直接写入HTML输出流。其语法格式如下: Response.WriteFile(filename);,6.2 Response对象,6.2.3 使用Redirect方法实现页面跳转 Response对象的Redirect方法用于将客户端重

5、定向到新的URL,实现页面间的跳转。该方法的语法格式如下: Response.Redirect(url ,endResponse) 使用Response对象的Redirect方法时应注意如下问题: 1) 使用该方法实现跳转时,浏览器地址栏中将显示目标URL。 2) 执行该方法时,重定向操作发生在客户端,涉及到两个不同页面或两个Web服务器之间的通信,第一阶段是对原页面的请求,第二阶段是对目标URL的请求。 3) 该方法执行后内部控件保存的所有信息将丢失,因此当从A页面跳转到B页面后,在页面B中无法访问A页面提交的数据。若需从A页面传递数据到B页面,只能通过url参数中的“?”来实现。,6.3

6、Request对象,6.3.1 Request对象的常用属性和方法 Request对象的常用属性见表6-6。,6.3 Request对象,6.3.1 Request对象的常用属性和方法 Request对象的常用方法有两个: 1) MapPath(VirtualPath):该方法将当前请求的URL中的虚拟路径VirtualPath映射到服务器上的物理路径。参数VirtualPath用于指定当前请求的虚拟路径(可以是绝对路径,也可以是相对路径)。返回值为与VirtualPath对应的服务器端物理路径。 2) SaveAs(filename, includeHeaders):该方法将客户端的HTTP

7、请求保存到磁盘。参数filename用于指定文件在服务器上保存的位置;布尔型参数includeHearders用于指示是否同时保存HTTP头。,6.3 Request对象,6.3.2 使用UserHostAddress属性获取用户IP地址 使用Request对象的UserHostAddress属性可以得到用户访问网站时使用的IP地址,使程序员能编写出能根据用户IP地址不同,而将用户引导到不同服务器的应用程序。 例如: string UserIP = Request.UserHostAddress;,6.3 Request对象,6.3.3 通过查询字符串实现跨页数据传递 Request对象的Qu

8、eryString属性用于接收来自用户请求URL地址中“?”后面的数据,通常将这些数据称为“查询字符串”,也称为“URL附加信息”,常被用来在不同网页中传递数据。 使用Response对象的Redirect属性可以同时传递多个参数,其语法格式如下: Response.Redirect(“目标网页?参数1 ,6.3 Request对象,6.3.4 使用Browser属性获取客户浏览器信息 Request对象的Browser属性包含有众多子属性,用来返回客户端浏览器的信息和客户端操作系统的信息等。,6.3 Request对象,6.3.5 使用Form属性处理HTML表单 在Web窗体页面中,往往包

9、含有许多Web服务器控件(文本框、单选按钮、复选框等)或HTML表单。这些控件的值存放在窗体变量中,当用户提交页面时,这些窗体变量被发送到服务器端。使用Request对象的Form属性可以访问被提交到服务器的窗体变量。其语法格式如下: Request.Formelement | index Request对象的Browser属性包含有众多子属性,用来返回客户端浏览器的信息和客户端操作系统的信息等。,6.4 Server对象,6.4.1 Server对象的常用属性和方法 Server对象的常用属性有: MachineName属性和 ScriptTimeout属性 常用方法见表6-8,6.4 Se

10、rver对象,6.4.2 Execute和Transfer方法 Server对象的Execute方法和Transfer方法都可以实现从当前页面跳转到另一页面的功能。但需要注意的是:Execute方法在新页面中的程序执行完毕后自动返回到原页面,继续执行后续代码;而Transfer方法在执行了跳转后不再返回原页面,后续语句也永远不会被执行。但跳转过程中Request、Session等对象中保存的信息不变,也就是说从A页面使用Transfer方法跳转到B页面后,可以继续使用A页面中提交的数据。 此外,由于Execute方法和Transfer方法都是在服务器端执行的,客户端浏览器并不知道已进行了一次页

11、面跳转,所以其地址栏中的URL仍然是原页面的数据。这一点与Response对象Redirect方法实现的页面跳转是不同的。,6.4 Server对象,6.4.3 MapPath方法 在Web应用程序执行时可能需要访问存放在服务器中的某一文件,此时就需要将文件的虚拟路径转换成服务器端对应的物理路径。而Server对象的MapPath方法就是用来完成这一任务的。MapPath()方法的语法格式为: Server.MapPath(虚拟路径);,6.4 Server对象,6.4.4 对字符串编码和解码 1. HtmlEncode()和HtmlDecode()方法 HtmlEncode()和HtmlDe

12、code()方法用于对包含HTML标记的字符串进行编码和解码操作,二者互为反操作。其语法格式为: Server.HtmlEncode(string); 其中string参数为包含HTML标记的字符串。 Server.HtmlDecode(string); 其中string参数为使用HtmlEncode()方法编码后的字符串。,6.4 Server对象,6.4.4 对字符串编码和解码 2. UrlEncode()和UrlDecode()方法 UrlEncode()和UrlDecode()方法用于对URL中的特殊符号进行编码和解码操作。与HtmlEncode()和HtmlDecode()方法一样,

13、二者也是互为反操作。 UrlEncode()方法的语法格式为(其中url参数为表示URL字符串): Server.UrlEncode(url); UrlDecode()方法的语法格式为(其中string参数为使用UrlEncode()方法编码后的URL字符串): Server.UrlDecode(string);,6.5 ASP.NET的状态管理,6.5.1 创建和使用Cookie对象 1. 创建Cookie 浏览器负责管理客户机上的Cookie,Cookie需要通过Response对象发送到浏览器,发送前需要将其添加到Cookie集合中。 Cookie有3个重要的参数:名称、值和有效期。如果

14、没有设置Cookie的有效期,它仍可被创建,但不会被Response对象发送到客户端,而是将其作为用户会话的一部分进行维护,当用户关闭浏览器(会话结束)时该Cookie将被释放。这种非永久性Cookie十分适合用来保存只需要短暂保存或由于安全原因不能保存在客户机上的信息。 创建Cookie的语法格式如下: Response.Cookies“名称“.Value = 值;,6.5 ASP.NET的状态管理,6.5.1 创建和使用Cookie对象 2. 读取Cookie 使用Request对象的Cookies属性可以读取保存在客户机上指定Cookie的值,其语法格式如下: 变量 = Request.

15、Cookies“名称“.Value;,6.5 ASP.NET的状态管理,6.5.1 创建和使用Cookie对象 3. 使用多值Cookie 例如,下列语句创建了一个名为“Person”的Cookie集合,其中包含有3个子属性,对于浏览器来说,只相当于一条Cookie。 Response.Cookies“Person“P_Name“.Value = “zhangsan“; Response.Cookies“Person“P_Email“.Value = ““; Response.Cookies“Person“P_Home“.Value = “北京“; 使用下列语句可从上述多值Cookie中读取数

16、据。 yr_name = Request.Cookies“Person“P_Name“.Value; yr_email = Request.Cookies“Person“P_Email“.Value; yr_home = Request.Cookies“Person“P_Home“.Value;,6.5 ASP.NET的状态管理,6.5.2 创建和使用Session对象 2. Session对象的常用属性及方法 Session对象的常用属性见表6-9。,6.5 ASP.NET的状态管理,6.5.2 创建和使用Session对象 2. Session对象的常用属性及方法 Session对象的常用方法见表6-10。,6.5 ASP.NET的状态管理,6.5.2 创建和使用Session对象 3. 使用Session对象 将数据保存到Session对象中 向Session对象中存入数据的方法十分简单,下面的语句使用户单击按钮时将3个字符串分别存入2个Session中。 protected void

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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