学习单元2:模块1—会员登录模块.ppt_第1页
学习单元2:模块1—会员登录模块.ppt_第2页
学习单元2:模块1—会员登录模块.ppt_第3页
学习单元2:模块1—会员登录模块.ppt_第4页
学习单元2:模块1—会员登录模块.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

任课教师:陈子达 ASP.NETASP.NET程序设计程序设计 学习单元2:模块1会员登录模块 n 随着Web应用的不断发展,在.NET战略中,提出了全新的Web应 用开发技术ASP.NET,引入了Web窗体的概念。窗体界面元素被 称为Web控件,像Windows窗体编程一样,将Web控件拖到窗体中 进行可视化设计,大大提供Web开发的效率。 2.1 Web窗体与Page类 n Web窗体提供了一种直观方便的编程模型,它不仅可用于快速创 建复杂的Web应用程序界面,而且可以实现功能复杂的业务逻辑 和数据库访问。 n Web窗体包含两种不同代码块的组合: n 含有页面布局和ASP.NET控件模板信息的HTML代码。它负责在浏览 器上显示Web窗体,其扩展名为“.aspx”。 n 对Web窗体进行逻辑处理的ASP.NET代码。它负责生成在Web窗体上 显示的动态内容,其扩展名为“.aspx.cs”。 2.1.1 Web窗体 n Web窗体的主要特点 n 基于Microsoft ASP.NET技术,在服务器上运行的代码动态生成界 面,并将之发送到浏览器或客户端设备输出。 n 兼容所有浏览器或移动设备。 n Web窗体页几乎可以输出任何支持客户端浏览的语言,包括HTML、 XML和Script等。 n 兼容.NET公共语言运行时(CLR)所支持的任何语言,包括C#、 VB.NET等。 n 基于Microsoft .NET Framework生成,具有的.NET Framework所有 优点,包括托管环境、类型安全性和继承。 n 具有灵活性,可以添加用户创建的控件和第三方控件。 2.1.1 Web窗体 n ASP.NET界面语法 n ASP.NET界面文件的扩展名为.aspx,该类文件的语法结构主要 由以下组成: n 指令 n Head n 窗体元素 n Web服务器控件或HTML控件 n 客户端脚本 n 服务器端脚本 2.1.1 Web窗体 1. 指令 Page:页面指令,此指令最为常用,允许指定多 个配置选项,常在Web窗体界面文件中的第一行使 用,它定义了ASP.NET页分析器和编译器使用的页 面特定属性,只能包含在.aspx文件中。 Language:指定 编程使用的语言 AutoEventWireup :是否自动装载 Page_Init和 Page_Load方法 CodeFile:指定关 联的后台代码文件 Inherits:指定供 页继承的代码隐藏 类 n Control:指定ASP.NET用户控件。 n Register:注册其他控件以便在页面上使用。声明控件的标记 前缀和控件程序集的位置。如果要向页面添加用户控件或自定 义ASP.NET控件,则必须使用此指令。 n Master:使用于特定的母版页。 n OutputCache:指定缓存的页面,并指定何时缓存该页、缓存 需多长时间。 1. 指令 1. 指令 DOCTYPE:是document type(文档类型)的简写,用来说明你用的XHTML或者 HTML是什么版本。 其中的DTD叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义 的DTD来解释你页面的标识,并展现出来。 要建立符合标准的网页,DOCTYPE声明是 必不可少的关键组成部分;除非你的 XHTML确定了一个正确的DOCTYPE,否则你 的标识和CSS都不会生效。 n 在Head的内容不会被显示(除标题外),但它对于浏览器可能 是非常有用的信息,如使用HTML版本、脚本和样式表等内容。 2. Head n 如果页面包含允许用户与页面交互并提交该页面的控件,则必 须包含一个form元素。 n 遵循的规则: n 页面只能包含一个form元素。 n 必须包含runat属性,值设置为server时,允许在服务器代码中以 编程的方式引用页面上的窗体和控件。 n 可执行回发的服务器控件必须位于form元素之内。 3. Form(窗体)元素 n 通常,在ASP.NET页中,都需要添加允许用户与页面交互的控件 ,包括按钮、文本框、列表等。 4. Web服务器控件 n Web窗体的生命周期 n 一个Web窗体的生命周期类似于在服务器中运行的Web进程的生 命周期。Web窗体从实例化分配内存空间到处理结束释放内存, 一般经历四个步骤: n 初始化 n 页面加载 n 事件处理 n 资源清理 2.1.1 Web窗体 n 页面生命周期中的第一个阶段是初始化,其标志是Page_Init事 件。当Init事件发生时,.aspx文件中声明的控件被实例化,并 采用各自的默认值。 1. 页面初始化 n 页面加载在初始化之后进行,所发生的事件为Page_Load。它根 据Page.IsPostBack属性检查页面是不是第一次被处理;第一次 处理页面时: n 执行数据绑定 n 在以后的循环过程中重新判断数据绑定表达式 n 读取或更新控件属性 n 恢复所保存的前一个客户请求的状态 2. 页面加载 n Web窗体上的每个动作都激活一个到达服务器的事件。一个Web 窗体有两个视图:一个客户视图和一个服务器视图。所有的数 据处理都在服务器上进行。当通过单击鼠标或其他方法触发一 个事件时,事件就到达服务器并返回相应的数据。 3. 事件处理 n 发生于一个窗体完成了它的任务,并且准备卸载的时候,激活 Page_Unload事件,以完成最后的资源清理工作,如关闭文件、 关闭数据连接、释放对象等。 4. 资源清理 n Page类与扩展名为.aspx的文件相关联,用作Web应用程序的用 户界面的控件。这些文件在运行时被编译为Page对象,并被缓 存在服务器的内存中。Page类有很多属性,在编程实践中,经 常用到的属性主要有: n IsPostBack n IsValid 2.1.2 Page类 n IsPostBack属性 n 用于获取一个布尔值,该值指示该页是否为首次加载。如果 IsPostBack的值为true,则表示当前页面是由于客户端返回数据而 加载的。 n IsValid属性 n 获取一个布尔值,该值指示页面验证是否成功。在实际应用中,往 往会验证页面提交的数据是否符合预期设定的格式要求等,如果符 合则IsValid值为true,否则为false。 2.1.2 Page类 n 控件是一个可重用的组件或者对象,它不但有自己的外观,还 有自己的属性和方法,其中大部分控件还可以响应特定的事件 。通过VS 2008的集成开发环境,可以简单地把一个控件拖放到 一个Web窗体中。 n 特性: n 丰富而一致的对象模型。所有控件有通用的属性。 n 能够自动检测客户机浏览器的功能,并相应地调整所提交的HTML, 从而充分发挥浏览器的功能。 n 可以对控件的任何属性进行数据绑定,此外还有几种Web控件可以 用来提交数据。 2.2 Web服务器控件 n ASP.NET中大致讲Web服务器控件分成几大类: n 标准控件 n 数据控件 n 数据源控件 n 验证控件 n 导航控件 n 通过实例介绍Label、TextBox、Button三个控件的使用方法。 2.2 Web服务器控件 n 传统的程序一般按从上至下的顺序执行,即便是用的是函数, 也不会改变程序的执行顺序。然而,事件驱动编程改变了传统 的编程模式。 2.3 事件驱动编程 n 事件是一对象发送消息通知另一对象操作的机制,可以用于对 象间的同步和信息传递。Windows操作系统是由事件驱动的,它 不以顺序方式执行。Windows启动后,就等待事件的发生。 n 在ASP.NET中,页面显示在浏览器上,等待用户交互。当用户单 击按钮时就发生一个事件。程序会执行相应的代码,以响应事 件。在代码执行结束时,页面返回,继续等待下一个事件。 n 开发者只需要编写响应的代码即可。 n 另一个优点:可以使处理数据的代码和页面显示代码分离。通 过这样的分离,ASP.NET允许多个页面使用相同的代码,从而使 维护更容易。 2.3.1 事件驱动编程 n ASP.NET的事件可以分为以下几类: n HTML事件:这些事件可以在页面上发生,并由浏览器在客户端处理 ,如在客户端Javascript中运行的弹出工具提示或菜单扩展。 n 自动触发事件:ASP.NET页面生成时,会自动触发一些事件,它们 不需要干涉,在用户看到页面之前,使用这些事件可以建立页面。 n 用户交互事件:用户与页面交互时触发的事件,这些事件直接与 ASP.NET的Web控件相关,如Button控件的Click事件。 2.3.1 事件驱动编程 n 在现实生活中,委托别人办事的情况时有发生,而委托别人般 的事能不能办好,主要取决于两个方面: n 是否委托了合适的委托对象。 n 是否传递了解决委托时间所需要的正确和必要的信息。 n ASP.NET的事件处理采用的就是一种委托机制,如按钮的Click 事件,编程时在设计界面上双击按钮,程序会自动添加事件响 应方法: 2.3.2 事件处理 n 或者选中按钮,在“属性”窗口中,点击黄色闪电图标 ,进入 “事件”设置窗口,选择相应的事件 进行添加。 2.3.2 事件处理 n Web应用本质是无状态的,对页面的每个请求均被视为新请求, 且默认情况下,来自一个请求的信息对于下一个请求不可用, 而在实际企业应用中,完成一个业务往往需要经过多个步骤。 例如,在网上商城购买商品,首先需要找到想要的商品,将它 添加到购物车中,然后继续浏览商品,知道选购完所有商品后 ,才提交购物车,完成订单。这个过程,包含了多次的请求, 既然Web应用是无状态的,那么它是如何来维护购买商品过程中 的信息的呢? 2.4 状态管理 n Web应用开发中很重要的一个问题就是在Web页之间的信息传递 和状态维护。 n Response n Response.Write 向浏览器输出数据 n Response.Redirect 页面重定向 n Response.End 停止输出 n Request n 获取页面传递的数据 n 获取URL信息 n 得到客户端的信息 2.4 Response和Request n ASP.NET提供了在服务器上保存页面之间信息的状态管理,这有 助于在访问Web站点的过程中,保持用户信息(状态)的连续性 。如果能够在页面之间保留状态,那么用户初始提供的信息就 可以重用。因此,每次将页面发送回服务器时,用户就不需要 多次输入相同的信息了。这就需要通过保存应用程序的信息来 维护不同发送过程中的数据,成为应用程序状态管理。 n 在ASP.NET中提供了多种技术在服务器往返过程之间维护状态, 一般包括服务器端和客户端维护技术。选择哪种类型的状态管 理取决于应用程序的性质。 2.4.1 状态管理 n 服务器端状态管理使用服务器资源来存储状态信息,这类选项 的安全性较高。 n 应用程序状态:是一种全局存储机制,可从Web应用程序中的所有 页面访问。例如:存储Web应用程序的访问人数。 n 会话状态:仅供Web应用程序的某个特定会话的用户使用。例如: 存储某个用户的订单编号,存储登录用户信息等。 n Cache对象 1. 服务器端状态管理 n 客户端状态管理实际在页中或客户端计算机上存储信息,在各往 返行程间不会在服务器上维护任何信息。客户端状态管理往往具 有最低的安全性。 n Cookie:是一个文本文件,用来存储保留状态所需的少量文本信息 。 n 视图状态:是ASP.NET默认情况下,用来保存往返过程之间的页和控 件值的方法。 n 隐藏域:将信息存储在HiddenField控件中。在浏览器中不可见。 n 查询字符串:在页面URL的尾部附加的信息,这种方式比较简单。但 是传递的信息容易被篡改,不要依靠查询字符串来传递重要的或敏 感的数据。 2. 客户端状态管理 n Cookie是一些少量的数据,这些数据或者存储在客户端文件系 统的文本文件中,或者存储在客户端浏览器会话的内存中。 Cookie包含特定站点的信息,这些信息是随页输出一起由服务 器发送到客户端的。Cookie可以是临时的(具有特定的过期时 间和日期),也可以是持久的。 n 可以使用Cookie来存储有关特定客户端、会话或应用程序的信 息。Cookie保存在客户端设置上,当浏览器请求某页时,客户 端会将Cookie中的信息连同请求信息一起发送。服务器可以读 取Cookie并获取它的值。 2.4.2 Cookie n Cookie的优点: n 可配置到期规则。Cookie存在的时间取决于客户端的到期规则。 n 不需要任何服务器资源。 n 使用简单。 n 缺点: n 在实际应用中,有些用户禁用了浏览器或客户端设备接收Cook

温馨提示

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

评论

0/150

提交评论