ASP.NET网页开发实用教程 教学课件 ppt 作者 陈运海 电子教案 第5章

上传人:E**** 文档编号:89193033 上传时间:2019-05-21 格式:PPT 页数:62 大小:719KB
返回 下载 相关 举报
ASP.NET网页开发实用教程 教学课件 ppt 作者 陈运海 电子教案 第5章_第1页
第1页 / 共62页
ASP.NET网页开发实用教程 教学课件 ppt 作者 陈运海 电子教案 第5章_第2页
第2页 / 共62页
ASP.NET网页开发实用教程 教学课件 ppt 作者 陈运海 电子教案 第5章_第3页
第3页 / 共62页
ASP.NET网页开发实用教程 教学课件 ppt 作者 陈运海 电子教案 第5章_第4页
第4页 / 共62页
ASP.NET网页开发实用教程 教学课件 ppt 作者 陈运海 电子教案 第5章_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《ASP.NET网页开发实用教程 教学课件 ppt 作者 陈运海 电子教案 第5章》由会员分享,可在线阅读,更多相关《ASP.NET网页开发实用教程 教学课件 ppt 作者 陈运海 电子教案 第5章(62页珍藏版)》请在金锄头文库上搜索。

1、ASP.NET网页开发实用教程,Title slide,2,第5章 ASP.NET常用内部对象,本章应知 1内置对象的概念 2信息共享的使用 3常用内部对象使用的场合与时机 本章应会 1掌握使用Page对象的集合、属性和方法设置和编程 2掌握Response、Request对象的集合、属性和方法设置和编程 3掌握Server、Application、Session、Cookie对象的集合、属 性和方法设置和编程 4掌握用System.IO命名空间提供的类,创建和读取一个文本文件的方法。,3,5.1 使用ASP.NET内部对象编程基础知识,在开发 Web 应用程序时,ASP.NET经常使用一些内

2、部对象,用于维护有关当前应用程序、每个用户会话、当前HTTP请求、请求的Web窗体页等的信息。ASP.NET页框架包含一系列封装此上下文信息的类。ASP.NET使这些类的实例用作可以从代码访问的内部对象。这些内部对象是全局对象。这些对象在使用时,不同于一般的对象,不要求创建它的实例。在整个使用过程中,它们的属性、方法都是可以自动访问的,使用非常方便,掌握这些技术是开发Web应用程序的基础。,4,5.2 项目1 使用Page对象获取当前页面,利用Page对象的Init事件和UnLoad事件设计一个ASP.NET页面:该页面被请求时,在客户浏览器中显示一个选择人员的下拉列表;在文本框控件中输入新增

3、人员,单击“增加人员”按钮后,在下拉列表中增加人员。 其运行结果如图5-1所示。,5,图5- 1进入页面下拉列表初始状态,图5-1进入页面下拉列表初始状态,6,当用户在浏览器中单击“增加人员”按钮后,窗体数据将返回到服务器,此时网页会被重新加载。网页重新加载后,将不会触发Page对象的Init事件。这样每次将增加一个人员到下拉列表,这正是我们所希望的结果。 若将本例中的Init事件换成为Load事件,即将Page_Init换为Page_Load: void Page_Load(Object sender,EventArgs e) Cname. Items.Add(“朱艳萍“); Cname.

4、Items.Add(“张晓春“); Cname. Items.Add(“李会宁“); 那么,当载入程序运行后,在文本框中输入“陈运海”。单击“增加人员”按钮,下拉列表中显示的内容如图5-2所示。,7,图5-2 点击“增加人员”后下拉列表状态,8,从图中可以看出,当增加一个人员“陈运海“后,原来的人员”朱艳萍”“、”张晓春“、”李会宁“又重复显示了一遍。这不是我们所希望的。为什么会出现此种结果呢?原因在于窗体数据返回服务器后,Page对象的Load事件再次触发。 为避免产生此类问题,可使用Page对象的IsPostBack属性来判断网页是否是首次加载。,9,5.3 项目2 通过Request对象

5、,获取客户端及服务器端的信息,当我们打开浏览器并从我们的站点请求Web页时,Web服务器就接受到HTTP请求,这个请求里包含有关于用户的、所使用的客户机器、页以及他们的浏览器的加载信息。所有这些信息被完整地打包,并可在Request对象中获取。,10,5.3.1 任务1 获取服务器端的环境变量信息及客户端浏览器信息,如图5-3所示,使用Request对象,获取服务器端的环境变量信息及客户端浏览器信息。,图5-3 获取浏览器状态信息,11,5.3.2 任务2 利用Request对象,可获取客户端所输选择的信息,要实现如图5-4所示的功能。首先在载入了网页文件后,您可选择下拉列表中的一项,然后点击

6、按钮,就可给您一个回应信息。例如:如果选择上海,则回应信息为“你已经选择了以下城市: 上海”。,12,图5-4 选择画面,13,5.4 项目3 使用Response对象,Request对象的功能与Request对象的功能正好相反,它用于将服务器端的内容发送到客户端浏览器,包括将服务器端的数据用超文本的格式发送到浏览器上,重定向浏览器到另一个URL。用户通过Request.Form集合将查询数据提交到服务器端,服务器端通过Response.Write方法将查询结果返回到客户端。 通过一些实例让读者体会到Response的意义和用法。,14,5.4.1 任务1 利用Response将用户重定向到另

7、一页,要求:给出一个下拉列表,显示一些网站的地址。当选择其中一个网站地址,并点击“确认”按钮时,就可进入所选择的网站,如图5-5所示。,图5-5 重定向选择,15,其中,当点击“确认”按钮后,引用了Response.Re-direct(list1.SelectedItem.Text)语句,该语句就将客户引入到list1项上客户所选择的选项。,16,5.4.2任务2 利用Response对象的控制缓存的属性和方法,利用Response对象的BufferOut属性、Flush方法、ClearContent方法,将缓存中的一部分内容“缓存前一部分,将被送到浏览器”发送到客户端显示;而将另一部分内容“

8、只在缓存中停留一下,然后被删除,不送到浏览器”不发送到客户端显示,其结果如图5-6所示。,17,图5-6 缓存前一部分被送到浏览器,18,5.5 项目4 Server对象的常用对象和属性的使用,使用Server对象提供对服务器方法、属性的存取。Server对象公开可以用于在页之间传输控件的实用工具方法,获取有关最新错误的信息,对 HTML 文本进行编码和解码,Server对象提供对所有会话的应用程序范围的方法和事件的访问。还提供对可用于存储信息的应用程序范围的缓存的访问。,19,经常用到的Server对象的属性如下:,l MachineName:获取服务器计算机名称。 l ScriptTime

9、Out:指定Script的超时时间。 经常用到的Server对象的方法如下: l HtmlEncode():对字符串进行HTML编码,以免该字符串被解 释为HTML语法。 l HtmlDecode():HtmlEncode()方法的逆运算。 l UrlEncode():对字符串进行Url编码,将其转换为特殊的字 符串。当Url中存在会使系统错误解读的字符时,应使用此方 法。 l UrlDecode():HtmlEncode()方法的逆运算。 l UrlPathEncode():只对Url字符串中的路径部分进行Url编码。 l MapPath():将虚拟路径转换为实际路径。 l Execute(

10、):执行另一个ASP.NET网页,执行完成后返回原来 的网页继续执行。该方法提供了与函数调用类似的功能。 lTransfer():终止当前网页,执行新的网页(即实现重定向)。,20,5.5.1 任务1 HTML的编码和解码,Server的HtmlEncode方法能对字符串进行编码,当字符串被送到浏览器时,不能被浏览器按HTML语法进行进行解释,按字符串原样在浏览器中显示。当不希望将传送的字符串中与HTML标记相同的串解释成HTML标记时,可使用此方法。HtmldDecode方法的功能正好与HtmlEncode相反,它可将HTML编码字符串按HTML语法进行解释。要求实现如图5-7所示的功能。,

11、21,图5-7 Server的HtmlEncode与HtmldDecode方法,22,5.5.2 任务2 URL的编码和解码,利用Server.UrlEncode与Server.UrlDecode可以对URL字符串进行编码和解码。首先我们看看以下两个页。 注意此页应用了标记,表示在其中放置链接,我们可以单击它进入不同的页面。在这些标记中我们利用Response.Write()获取name和age值。Href属性是一个HTML控件,用于规定或接收URL。我们使用href属性规定以下定义的是URL,在URL中我们正在传输两个参数作为GET请求。当单击链接时IE要达到的URL是:cobjectnet

12、7-2.aspx?age=20 name=“Tom & Robert“。 现在调用第一个网页cobjectnet7-1.aspx,可以看到单一的链接“点击此处”。单击此处,可以看到如图5-8所示的画面:,23,图5-8不用Server.UrlEncode与Server.UrlDecode,24,从中我们看到,我们希望显示的Tom & Robert两个人,为什么只显示一个人呢?我们希望空格和&符号作为参数的一部分传送,而不应该解释成其它意思。解决办法是在创建HTML链接之前使用UrlEncode()方法编码name和age的值。,25,在浏览器中再次打开此文件cobjectnet1.aspx,并

13、点击链接,可以看到第二页cobjectnet2.aspx显示为如图5-9所示。,图5-9 用Server.UrlEncode与Server.UrlDecode,26,5.5.3 任务3 Server的Excute和Transfer方法,Excute与高级语言的过程调用一样,将程序转移到指定程序执行。当此程序执行完后,流程返回到原程序的中断点继续执行。而Transfer则是终止当前程序的执行,转去执行其它的程序。,27,图5-10 Server.Execute方法,28,若将cobjectnet8-1.aspx中的Execute方法改为Transfer方法,则运行结果为如图5-11所示:,图5-

14、11 Server的Transfer方法,29,由此可以看出,Transfer进入第二个程序后不再返回第一个程序的执行。 顺便提一下,在ASP.NET中,Response.Redirect()和Server.Transfer()都能实现网页重定向。这两个方法的区别在于: (1)利用Response.Redirect(),可重定向到已存在的任何网页;而Server.Transfer()只能用于重定向到已存在的位于同一目录或同一目录之下的目录中的ASP.NET网页。 (2)利用Response.Redirect()完成重定向后,浏览器地址栏将显示新网页的URL,而利用Server.Transfer

15、()完成重定向后,浏览器地址栏仍然显示旧网页的URL。 (3)利用Server.Transfer()完成重定向后,原网页中所有内置对象的值仍保留;而利用Response.Redirect()完成重定向后,原网页中所有内置对象的值将被改写。 就重定向速度而言,Server.Transfer()优于Response.Direct()。,30,5.6项目5 使用Application对象,建立一个网页访问计数器,Application对象有四个常用的事件: (1)OnStart事件:在整个ASP.NET应用程序第一次被触发的事件,也就是说在一个虚拟目录中第一个ASP.NET应用程序执行时触发。 (2

16、)OnEnd事件:它与OnStart事件相对应,整个应用程序结束而站点服务终止时,将触发。 (3)OnBeginRequest事件:在每一个ASP.NET程序(网页文件)被请求时触发,即客户每访问一次ASP.NET程序(网页文件),就触发一次该事件。,31,(4)OnEndRequest事件:与OnBeginRequest事件相对应,每一个ASP.NET程序(网页文件)结束时,就触发一次该事件。 当第一个用户访问网站时,将触发Application对象的OnStart事件,而站点服务终止时,将触发Application对象的OnEnd事件。显然这两个事件的处理程序不宜放在一般的ASP.NET网页中(因为并不是每个用户都触发Application对象的OnStart事件,任何用户也无法直接触发Application对象的OnEnd事件)。 OnBeginRequest和OnEndRequest事件是ASP.NET新增加的事件,它可以使在同一个虚拟目录下的每一个ASP.NET程序执行和结

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

最新文档


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

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