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