窗体的创建与使用_第1页
窗体的创建与使用_第2页
窗体的创建与使用_第3页
窗体的创建与使用_第4页
窗体的创建与使用_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 Web 窗体的创建与使用学习内容 本章将进一步学习Web窗体的相关知识,了解Web窗体与Windows窗体的区别,掌握Web窗体的创建与使用方法。 本章首先介绍了Web窗体的一些基本知识,然后重点介绍了Web服务器事件处理、用户重定向和Web窗体状态管理三部分内容。通过学习本章知识,读者将能更加清楚的理解控件与窗体的关系,理解ASP.NET窗体的运行机制,为后续数据库编程、代码分离等章节的学习打下基础。学习目标理解:ASP.NET的执行模式和基于Web窗体的编程方式;了解:Web窗体页的结构,对PAGE指令、HTML界面设计有基本认识;了解:Web窗体的状态管理技术;应用:能够创建We

2、b窗体、编写基于服务器端的事件处理程序。一、Web窗体页介绍Microsoft.NET架构里面一个比较重要的概念就是“对象”:所有的控件都是对象,甚至数据类型都成了对象;每种数据类型都有自己特有的属性和方法。(一)Web窗体的主要特征Web窗体页,也就是ASP.NET窗体,是完全基于ASP.NET技术实现的,其特征:1.使用新的后缀名ASPX,以区别于原来的ASP窗体;2.兼容.NET公共语言运行库所支持的任何语言,包括VB,VC#和Jscript.NET等;3.使用Web服务器控件,极大地提高了开发效率;4.以更加容易实现的方式,提供了更加实用的扩展性;5.基于ASP.NET技术。(一)We

3、b窗体的主要特征ASPX页面与ASP页面在被访问时的区别:ASP页面是解释执行的。当用户发出请求后,无论是第一次,还是第一千次,ASP的页面都将被动态解释执行。ASPX页面是一次编译多次执行。(二)Web窗体和Windows窗体的比较 设计包含用户界面的应用程序时有两种选择:Windows窗体和Web窗体。1. Windows窗体 特点: 它依靠桌面计算机的处理能力和高性能的内容显示能力。这一类应用程序在Windows框架中生成的,可以访问客户计算机上的系统资源,包括本地文件、Windows注册表、打印机等。(二)Web窗体和Windows窗体的比较2. Web窗体 ASP.NET WEB窗体

4、用于创建主要用户界面,是浏览器的应用程序。重要特性: 第一,不会有部署费用,这是由于用户已安装了他们唯一需要的应用程序浏览器。 第二,Web窗体应用程序与平台无关。(二)Web窗体和Windows窗体的比较功能/标准Windows窗体Web窗体部署直接在用户计算机上安装和运行没有客户端部署,只需一浏览器图形允许使用复杂的图形交互活动态图形更新往返于服务器响应可以安全在客户计算机上运行;能够提供最快的响应速度。IE6以上版本的动态HTML功能可使Web窗体应用程序创建丰富的、具有相应能力的用户界面。窗体控件控制可对控件伪位置精确的坐标定位Web窗体基于HTML样式流布局平台要求在客户端运行.NE

5、T框架Web窗体只需要一个浏览器访问本地资源可以完全访问,可以精确限制浏览器安全性防止访问编程模型基于客户端Win32消息泵模式依赖于异步的断开连接模型,足见松散的耦合,通过HTTP调用安全性使用粒度权限,以保护计算机资源和敏感信息通过验证请求者凭据,按URL控制获得访问Web应用程序资源的授权(三)编写第一个Web窗体页案例5-1 第一个Web窗体页 P66姓名:所在院系: 经济管理学院 化工学院 机电学院 二、Web服务器事件处理(一)Web窗体页面的处理过程1.页面的一次往返处理 用户对服务器控件的一次操作,就可能引起页面的一次往返处理:页面被提交到服务器端,执行响应的事件处理代码,重建

6、页面,然后返回到客户端。二、Web服务器事件处理(一)Web窗体页面的处理过程2. 页面重建 每一次页面被请求,或者页面事件被提交到服务器,ASP.NET运行环境将执行必要的代码,重建整个页面,把结果页面送到浏览器,然后抛弃页面的变量、控件的状态和属性等等页面信息。当下一次页面被处理时,ASP.NET运行环境是不知道它的上一次执行情况的。在这个意义上,ASPX页面是没有状态的。 二、Web服务器事件处理(一)Web窗体页面的处理过程3. 页面内部处理过程 (1)ASP.NET页框架初始化 引发Page_Init事件, 还原控件属性和回发数据。 (2)用户代码初始化 Page_Load事件,使用

7、Page.IsPostBack属性,检查是否是首次处理该页;如果是首次处理该页,则执行初始数据邦定;否则,还原控件值;读取和更新控件属性。 二、Web服务器事件处理(一)Web窗体页面的处理过程 (3)事件处理 执行特定于应用程序的处理,处理所引发的特定事件;手动保存自行维护的页变量的状态;检查该页或各个验证控件的IsValid属性;手动保存动态添加到该页的控件的状态。二、Web服务器事件处理(一)Web窗体页面的处理过程 (4)清除 Page_Unload事件,执行最后的清除工作,例如:关闭文件;关闭数据库连接;放弃对象。二、Web服务器事件处理(二)Web窗体服务器控件事件模型及其实现实例

8、 1. 介绍事件 事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互操作(例如鼠标单击)引起的,也可能是由某些其它的程序定义的逻辑触发的;引发(触发)事件的对象叫做事件发送方;捕获事件并对其作出响应的对象叫做事件接收方;事件功能是由三个互相联系的元素提供的:提供事件数据的类、事件委托和引发事件的类。二、Web服务器事件处理(二)Web窗体服务器控件事件模型及其实现实例 2. 事件处理程序 使用Visual Basic在Web窗体中创建事件处理程序时,一般通过AddHandler语句,并向其传递要绑定的事件和要调用的方法的地址。以下实例现实如何将Button1控件的Click事件

9、绑定到名为myEventHandler的方法: AddHandler Button1.Click,AddressOf myEventHandler二、Web服务器事件处理(二)Web窗体服务器控件事件模型及其实现实例案例5-2 Web窗体页中的多事件处理 P70三、用户重定向 有时候,需要将用户从一个Web窗体页重定向到另一页。通过HttpResponse.Redirect方法可以实现重定向。实例一 强制无条件重定向到另一个Web站点。 Response.Redirect(“http:/”)三、用户重定向实例二 调用Response对象的重定向方法,并根据局部变量UserLanguage(在其

10、他地方设置)的内容来确定向其传递要重定向到的页的URL。三、用户重定向实例二Response.BufferOutput=TrueIf UserLanguage=“English” then response.redirect(“http:/ UserLanguage=“chinese” then response.redirect(“http:/ if四、Web窗体状态管理(一)Web窗体状态管理介绍 Web窗体为保持用户请求之间的数据提供了多种不同的途径。包括:Application对象,Cookie,Hidden Fields,Sessions或Cache对象等。 为了确定在那种特定的环境

11、下使用哪个对象,需要考虑下面三个条件:四、Web窗体状态管理(一)Web窗体状态管理介绍(1)谁需要数据?(2)数据需要保持多长时间?(3)数据集有多大?通过回答这些问题,你能决定哪个对象为保持ASP.NET应用程序请求间数据提供了最佳的解决方案。四、Web窗体状态管理表5-5 状态管理对象保持方法谁需要数据 保持多长时间数据量大小Application所有用户整个应用程序生命期任意大小Cookie一个用户可以很短,如果用户不删除也可很长小的、简单数据Sessions一个用户用户活动时一直保持+一段时间(一般20分钟)可为任何大小,但因用户占用单独存储空间,所以它应最小四、Web窗体状态管理(

12、二)Web窗体状态管理的实例以Sessions的一个应用为实例,介绍具体使用 Sessions数据对于特定的用户是特定的。它的生存期是用户持续请求的时间加上后来一段时间(一般为20分钟)。 对于小的数据量,Sessions对象是保存只需要在用户当前对话中保持的特定数据的极好位置。下面的例子演示了怎样设置和从Sessions对象中检索值:四、Web窗体状态管理Private sub btnSubmit_Click(ByVal sender as System.Object,ByVal e As System.EventArgs)Handles btnSubmit.Click if (IsVail

13、) then Session(TxtName.Text)=TxtValue.Text Lblresult.Text=“The value of ”+TxtName.Text+” in the Sessions object is ”+Session(TxtName.Text).ToString()+” end ifEnd sub本章小结1.关于ASP.NET的Web窗体(a)窗体是可视化编程最基本的表现元素,是Microsoft.Net架构里面的一个对象;(b)在Microsoft.NET架构里面,所有的控件都是对象,甚至数据类型都成了对象;每种数据类型都有自己特有的属性和方法;(c)ASP.

14、NET的Web窗体使用新的后缀名ASPX,以区别于原来的ASP窗体;并兼容.NET公共语言运行库所支持的任何语言;(d)区别于ASP页面的解释执行,ASPX页面是一次编译多次执行;并且,是在页面被调用的时候,由CLR自行决定是否编译;(e)Web窗体在部署、维护和升级的时候,比Windows窗体具有更大的优势。本章小结2. 服务器事件处理(a)Web窗体的页面处理包括页框架初始化、用户代码初始化、事件处理和页面清除等过程;(b)用户对服务器控件的一次操作,就可能引起页面的一次往返处理:页面被提交到服务器端,执行响应的事件处理代码,重建页面,然后返回到客户端;(c)事件是对象发送的消息,以发信号通知操作的发生;操作可能由用户交互操作引起,也可能由某些其它的程序定义的逻辑出发;引发(触发)事件的对象叫做事件发送方;捕获事件并对其作出响应的对象叫做事件接收方;(e)事件功能是由三个互相联系的元素提供的:提供事件数据的类、事件委托和引发事件的类。本章小结3. 用户重定向(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论