ASP.NET2.0程序设计陈语林电子教案ch03章节

上传人:E**** 文档编号:90570369 上传时间:2019-06-13 格式:PPT 页数:45 大小:122.50KB
返回 下载 相关 举报
ASP.NET2.0程序设计陈语林电子教案ch03章节_第1页
第1页 / 共45页
ASP.NET2.0程序设计陈语林电子教案ch03章节_第2页
第2页 / 共45页
ASP.NET2.0程序设计陈语林电子教案ch03章节_第3页
第3页 / 共45页
ASP.NET2.0程序设计陈语林电子教案ch03章节_第4页
第4页 / 共45页
ASP.NET2.0程序设计陈语林电子教案ch03章节_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《ASP.NET2.0程序设计陈语林电子教案ch03章节》由会员分享,可在线阅读,更多相关《ASP.NET2.0程序设计陈语林电子教案ch03章节(45页珍藏版)》请在金锄头文库上搜索。

1、第3章 ASP.NET基本对象编程,.NET Framework包含了大量的对象类库,这些对象类库为.NET提供了可以使用的功能。 本章将主要关注ASP.NET中最常用的Page类以及ASP.NET最核心的对象Request、Response、Server、Application、Session以及Cookies,并介绍这些对象的本质以及用途。,3.1 ASP.NET对象概述 3.1.1 页面对象模型概述 每当请求IIS容纳的ASP.NET页时,IIS总是把请求转交给ASP.NET HTTP管道。 3.1.2 页面生命周期 页面执行是从FrameworkInitialize方法开始的,这个方法

2、为页面构建控件树。该方法是TemplageControl类的受保护并且是虚方法,任何为.aspx资源动态生成的句柄覆盖了该方法。在这个方法里,页面的所有控件树都被构建了。,1. 页面生命周期中的事件 在各个不同阶段里,页面处理了与Web控件相关、程序员代码能够干预并解决一定问题的事件。其间一些事件是专门为那些内嵌控件和不能在.aspx代码级别处理的控件而设计的。 在默认情况下,页面会寻找和事件相关的方法名;如果找到和事件相匹配的方法,这个方法就被认为是这种事件的处理程序。ASP.NET提供了6种专门的方法名,它们是Page_Load、Page_DataBind、Page_PreRender、P

3、age_Unload和Page Dispcsed。,2. 页面执行阶段的事件属性 表3-1中列出的阶段有的在页面级别是不可见的,它们只是在服务器控件的作用编写继承于Page的类时会使用到。Init、Load、PreRender、Unload,再加上定义在内嵌控件中的回传处理事件,它们构成了页面的整个生命周期。,3.1.3 页面生命周期的执行 页面的生命周期分为初始化、页面加载视图、回传数据、Render事件和卸载事件。 1. 初始化 2. 加载视图 初始化结束后,页面构架为页面加载视图状态。 3. 回传数据 4. Render事件 5. 卸载事件,3.2 页面的基类 上面介绍了.NET如何在服

4、务器上获取.aspx文件,再把HTTP响应返回为有效的HTML的过程。ASP.NET完成这些工作的基础就是Page类,即页面的基类。 Page类位于System.Web.UI命名空间,全称是System.Web.UI.Page,这是网站用户在从HTML构造的页面上所看到的内容。Page类提供了许多强大的功能,它们使得ASP.NET页面的编程工作不但省力,而且有趣。,3.2.1 Page类的属性 Page类具有的属性包括Response属性、Request属性、Session属性、Server属性、User属性、Application属性、Cache属性、Trace属性、IsPostBack属性

5、和IsValid属性等。 1. Response属性 Response 属性对象表示Web服务器对客户的请求的响应,它是HttpResponse类的实例。,2Request属性 Request属性对象表示特定HTTP请求(这个HTTP请求将导致页面被加载)的值和属性,它是HttpRequest类的实例。 3. Session属性 Session属性对象是System.Web.UI.HttpSessionState类的实例,对其的所有引用都是在引用当前用户的会话对象。,4. Server属性 Server属性对象是通用的服务器实用对象。 5. User属性 User属性对象代表了关于向Web服务

6、器请求的用户的信息。它是一个Iprincipal对象简单地说Principal对象是安全环境的表示,代码通常在这个环境中运行。,6. Application属性 Application属性对像代表给定Web请求的应用程序状态,它是HttpApplicationState类的实例。 7. Cache属性 应用程序的Cache对象可以在后面的请求中存储和检索任意数据。缓存并不与特定页或用户会话关联,它主要用于增强应用程序的性能,它的作用域是整个应用程序。,8. Trace属性 Trace属性对象是通用的跟踪工具,使用它可以把信息写到作用域的页面的日志中。 9. IsPostBack属性 IsPos

7、tBack属性获取布尔值。若IsPostBack的值为true,则表示当前网页是由于客户端返回数据而加载的。,10. IsValid属性 IsValid属性获取布尔值。若IsValid的值为true,则意味着网页上的验证控件全部验证成功,否则表示至少有一个验证控件验证失败。 实例说明使用IsValid属性设置条件语句。如果该属性返回true,则lblOutput控件的Text属性被设置为“Page is valid!”;否则,它被设置为“Some of the required fields are empty”。,3.2.2 Page类的方法 Page类的方法主要有DataBind方法、Ge

8、tType方法、MapPath方法、ToString方法、Finalize方法、OnInit方法、OnLoad方法、OnPreRender方法和Render方法等。 1. DataBind方法 DataBind方法将数据源绑定到被调用的服务器控件及其所有子控件,使用此方法将数据从源绑定到服务器控件。此方法通常用在通过数据库查询检索数据集之后。,2. GetType方法 GetType方法获取当前实例的方法。 3MapPath方法 MapPath方法,检索虚拟路径(绝对的或相对的)映射到的物理路径。 4. ToString方法 ToString方法返回区分区域性的可读字符串。,5. Finali

9、ze方法 Finalize方法允许Object在“垃圾回收”回收Object之前尝试释放资源并执行其他清理操作。Finalize是受保护的,因此只能通过此类或派生类访问它。 对象变为不可访问后将自动调用此方法,除非已通过SuppressFinalize调用使对象免除了终结。在应用程序域的关闭过程中,对没有免除终结的对象将自动调用Finalize,即使那些对象仍是可访问的。对于给定的实例仅自动调用Finalize一次,除非使用ReRegisterForFinalize这类机制重新注册该对象并且后面没有调用GC.SuppressFinalize。,6. OnInit方法 当收到此方法通知时,服务器

10、必须执行创建和设置实例所需的任何初始化步骤。在服务器控件生存期的此阶段,控件的视图状态仍需填充。另外,在调用此方法时无法访问其他服务器控件,不论它是此控件的子级还是父级。不一定会创建其他服务器控件,也不一定能够访问它们。,7. OnLoad方法 此方法通知服务器控件应执行关联页的每个HTTP请求的共同操作,例如设置数据库查询。在页生存期的此阶段,创建并初始化层次结构中的服务器控件,还原视图状态,并且窗体控件反映客户端数据。 8. OnPreRender方法 OnPreRender方法通知服务器控件在保存视图状态和呈现内容之前,执行任何必要的预呈现步骤。,9. Render方法 Render方法

11、将服务器控件内容发送到提供的HtmlTextWriter对象,此对象编写将在客户端呈现的内容。,3.2.3 Page类的事件 Page类的事件主要包括DataBinding事件、Init事件、Load事件、PreRender事件、UnLoad事件和Disposed事件等。 1. DataBinding事件 DataBinding事件通知服务器控件执行已为其编写的任何数据绑定逻辑。,2. Init事件 Init事件当服务器控件初始化时发生。初始化是控件生存期的第一步,服务器控件应执行任何创建和设置实例所需的初始化步骤。在该事件内无法使用视图状态信息,它尚未填充。在该事件的生存期内不应访问其他服务

12、器控件,不论它是此控件的子级还是父级。不一定会创建其他服务器控件,也不一定能够访问它们。,3. Load事件 Load事件通知服务器控件执行任何设置为在每次页请求时发生的处理步骤。可以访问视图状态信息并利用该事件形成POST数据,还可以访问页控件层次结构内的其他服务器控件。 4. PreRender事件 使用PreRender事件在服务器控件呈现给页的输出之前执行任何更新。在该事件的生存期内可以保存服务器控件视图状态的任何更改,不保存呈现阶段内所做的同样更改。,5. UnLoad事件 在卸载实例前,服务器控件必须在控件生命期的此阶段执行所有最后的清理操作,如关闭文件、关闭数据库连接和丢弃对象。

13、 6. Disposed事件 Disposed事件当从内存释放服务器控件时发生,这是请求ASP.NET页时服务器控件生存期的最后阶段。,3.2.4 Web控件事件 在ASP.NET页面的生命周期内,Page对象会公开一些被频繁使用的标准事件。ASP.NET页面框架在运行时,会自动连接到(连线)这些方法的相应代理实例,这样就无须编写必要的“粘接代码”。 表3-2按激发顺序提供了运行时的代理实例。,3.3 Response对象:响应对象 Response对象表示Web服务器对客户请求的响应,它是HttpResponse类的实例。当ASP.NET运行页面中的代码时,它通常构建可以发送回浏览器的HTM

14、L。 ASP.NET具有所谓的缓存器,当生成HTML时,它就放在缓存器中。通常HTML位于缓存器,这样在页面结束运行之前,它就无须返回浏览器。也可以改变这种操作方式,Response对象通知页面缓存器所需要做的事情,这就是管理Web浏览器返回的内容以及返回方式和时间的方法。,下面先编写一个基本的程序,之所以称为基本的程序是因为这个程序将在后面的属性分析中屡次用到并被修改。 (1)启动Visual Studio.NET 2005,建立一个空的Web项目。 (2)在空项目中加入一个新建的文件,文件名为response.aspx。 (3)输入以下代码:, Response test (4) 按快捷键

15、Ctrl+F5,编译执行代码,3.3.1 使用缓冲区(Buffer) 缓冲区Buffer是HttpResponse类的一个属性,该属性默认为true,表示页面被缓存,并在一个块中发送。如果把它设置为false,则响应会在每一个信息段生成时随时发送。这种分段发送HTML的方式要比使用缓存器发送慢得多,但是站点访问者有机会在页面结束运行之前看到一些HTML,如果用户必须等待大段代码的编译,这种方法就很适合了。,3.3.2 检查使用者的连机状态 编程人员在从事商业开发时经常需要保存访问者的信息,在这里就用到了Cookies。Cookies是一种存储与用户和网站相关信息的方式,但是其期限要大于后面提到

16、的会话的存储期限。,3.3.3 地址重定向 有时候,当构建Web页面时,需要将用户导向到另外一个页面,比如用户查询资料时就需要页面跳转,这时可以使用Page类的Response属性中的一个对象Redirect帮助完成工作。 虽然前面已经介绍过Response属性的基本原理,但这里还是稍微再介绍一点。当调用Response时,Response会返回一个HttpResponse类型的对象,这个对象一个方法,称为Redirect,调用这个方法就可以将用户从一个页面跳转到另外一个页面了。,3.3.4 直接输出文本文件 直接输出文本文件的方法与地址重定向类似,也是借助于Response属性的一个对象实现,这个对象是WriteFile。 Request对象的PhysicalApplicationPath属性返回网站所在的路径。,3.4 Request对象:请求对象 当打开Web浏览器,并从网站请求Web页面时,Web服务器就接到一个HTTP请求,此请求包含读者、读者的计算机、页面以及浏览器的相关信息,这些信息将完整地封装,并在Request对象中利用它们。 这意味着信息的收集并不是一步

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

最新文档


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

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