《C#程序设计pp5.ppt》由会员分享,可在线阅读,更多相关《C#程序设计pp5.ppt(92页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、nC#程序设计pp5ASP.NETASP.NET开发开发开发开发本章结构本章结构5.4 CSS、主题和母版页5.3 HTML及网页编程5.1 B/S架构的Web应用5.2 ASP.NET技术简介5.1 B/S B/S架构的架构的WebWeb应用应用 Web应用程序是一种基于浏览器与服务器之间的交互式程序。它的执行过程就是:用户通过浏览器向服务器上的Web应用程序发送请求,然后服务器返回给用户数据,浏览器通过HTML语言呈现出来。如如下下图图:IIS服务器服务器5.1 B/S B/S架构的架构的WebWeb应用应用 优点(?):优点(?):1.客户端只需安装浏览器,而不需要安装特别的软件。核心部
2、分都集客户端只需安装浏览器,而不需要安装特别的软件。核心部分都集中在服务器端,实现中在服务器端,实现“胖胖”服务器,服务器,“瘦瘦”客户机的思想。客户机的思想。2.版本更新时不需要在客户端安装和部署新系统,易于维护。版本更新时不需要在客户端安装和部署新系统,易于维护。3.统一的语言体系(统一的语言体系(HTML、XML等等),客户端以不同的方式操作同等等),客户端以不同的方式操作同一数据库,实现信息的统一。一数据库,实现信息的统一。4.基于基于Webservice的跨平台应用,的跨平台应用,Ajax技术使客户端可以处理部分程技术使客户端可以处理部分程序,实现网页动态更新,减轻服务器端的负担。序
3、,实现网页动态更新,减轻服务器端的负担。5.1 B/S B/S架构的架构的WebWeb应用应用 IISIIS是微软公司推出的是微软公司推出的InternetInternet信息服务器,它信息服务器,它包括了包括了WebWeb、FTPFTP等服务器,已有了多个版本,目前的等服务器,已有了多个版本,目前的版本是版本是7.57.5。Windows XP ProfessionalWindows XP Professional、Windows Windows 2003 Server2003 Server的的IISIIS版本分别是版本分别是5.15.1、6.06.0。Windows Server 2008
4、 R2Windows Server 2008 R2中中IISIIS升级为升级为7.57.5版本。版本。I II IS S的的的的安安安安装装装装和和和和配配配配置置置置 5.1 B/S B/S架构的架构的WebWeb应用应用安安安安装装装装和和和和配配配配置置置置I II IS S服服服服务务务务器器器器1.安装安装IISIIS服务器服务器按按“开始开始”“设置设置”“控控制面板制面板”,双击,双击“添加添加/删除删除程序程序”图标,在其中单击图标,在其中单击“添加添加/删除删除WindowsWindows组件组件”.出现如下图所示的对话框中出现如下图所示的对话框中选择选择“InternetI
5、nternet信息服务信息服务(IIS)(IIS)”,单击,单击“下一步下一步”,即开始安装即开始安装IISIIS服务器。在此服务器。在此过程中,安装程序将提示放过程中,安装程序将提示放入入WindowsWindows系统光盘。在文件系统光盘。在文件复制完成后,单击复制完成后,单击“完成完成”结束安装。结束安装。5.1 B/S B/S架构的架构的WebWeb应用应用安安安安装装装装和和和和配配配配置置置置I II IS S服服服服务务务务器器器器2.2.配置和管理配置和管理IISIIS服务器服务器ASP.NET应用程序的执行由IIS服务器完成,要使得IIS服务器执行指定的脚本,必须进行适当的配
6、置。可以将要执行的ASP.NET应用程序配置为一个站点,也可以配置为一个虚拟目录。IIS中创建Web站点的方法如下:Internet服务管理器界面如下图图1 1所示。在“管理Web站点”上单击鼠标右键,选择“新建”“站点”,依次输入站点名、选择站点IP地址及端口号、指定站点主目录路径以及用户对站点的访问权限,站点即创建完成。此时,在Internet服务管理器中可见新建的站点(例如test)及其内容,如图图2 2所示。5.1 B/S B/S架构的架构的WebWeb应用应用安安安安装装装装和和和和配配配配置置置置I II IS S服服服服务务务务器器器器图图1 Internet1 Internet
7、服务管理器界面服务管理器界面5.1 B/S B/S架构的架构的WebWeb应用应用安安安安装装装装和和和和配配配配置置置置I II IS S服服服服务务务务器器器器图图2 2 新站点被成功创建新站点被成功创建 5.2 ASP.NET技术简介技术简介v在在.NET Framework 3.5.NET Framework 3.5版本之上,微软也发布了称为版本之上,微软也发布了称为ASP.NET 3.5ASP.NET 3.5的版本。的版本。ASP.NET 3.5ASP.NET 3.5相对于其前一个版本相对于其前一个版本ASP.NET 2.0ASP.NET 2.0并没有太大并没有太大的改变,但是提供了
8、大量的新功能,比如以前作为扩展的的改变,但是提供了大量的新功能,比如以前作为扩展的ASP.NET ASP.NET AJAXAJAX、LINQLINQ数据源控件数据源控件等等。等等。v本节内容主要包括本节内容主要包括ASP.NETASP.NET新功能、新功能、ASP.NETASP.NET程序结构、程序结构、ASP.NETASP.NET的的配置配置(Web.config)(Web.config)、WebWeb窗体基础、应用程序事件(窗体基础、应用程序事件(Gobal.asaxGobal.asax)。)。5.2 ASP.NET技术简介技术简介5.2.1ASP.NET的新功能的新功能5.2.3 ASP
9、.NET的配置的配置5.2.5应用程序事件应用程序事件5.2.2 ASP.NET的程序结构的程序结构5.2.4 Web的窗体结构的窗体结构v在在ASP.NET中,中,Web页面现在也可称之为页面现在也可称之为Web Form。v使用使用ASP.NET能够创建与能够创建与Windows桌面应用程序相似的用户界面。而且,桌面应用程序相似的用户界面。而且,ASP.NET Web应用程序是编译型而非解释型的应用程序是编译型而非解释型的Web开发技术。开发技术。5.2 ASP.NET技术简介技术简介5.2.1ASP.NET的新功能的新功能 ASP.NET 3.5ASP.NET 3.5在在ASP.NET
10、2.0ASP.NET 2.0的基础上增加了如下的新特色:的基础上增加了如下的新特色:1.提供了用于开发提供了用于开发ASP.NET AJAX应用程序的内置的服务器控件、类型和客应用程序的内置的服务器控件、类型和客户端脚本库。户端脚本库。2.新的新的Forms身份验证,角色管理和配置文件服务。身份验证,角色管理和配置文件服务。3.新的新的ListView数据控件,用于显示数据,还可提供具有高度可自定义性的数据控件,用于显示数据,还可提供具有高度可自定义性的用户界面。用户界面。4.新的新的LinqDataSource控件,通过控件,通过 ASP.NET 数据源控件结构公开语言集成数据源控件结构公开
11、语言集成查询(查询(LINQ)。)。5.新的合并工具(新的合并工具(Aspnet_merge.exe),可用于合并预编译程序集,以灵活),可用于合并预编译程序集,以灵活的方式实现部署和发布管理。的方式实现部署和发布管理。6.提供了与提供了与IIS 7.0的集成特性。的集成特性。5.2 ASP.NET技术简介技术简介5.2.1ASP.NET的新功能的新功能 目前,目前,ASP.NETASP.NET的版本已更新到的版本已更新到4.04.0,它在版本,它在版本3.53.5的基础上更加注重用户的基础上更加注重用户体验,并改进了体验,并改进了javaScriptjavaScript用户界面模板、用户界面
12、模板、AjaxAjax中的数据绑定功能和中的数据绑定功能和ASP.NETASP.NET的图表控制功能,同时也扩展了的图表控制功能,同时也扩展了WPFWPF、WFWF和和WCFWCF的性能。的性能。5.2 ASP.NET技术简介技术简介5.2.1ASP.NET的新功能的新功能5.2 ASP.NET技术简介技术简介5.2.2 ASP.NET的程序结构的程序结构vASP.NETASP.NET程序结构主要介绍文件类型和目录介绍,程序结构主要介绍文件类型和目录介绍,本小节用本小节用VBVB和和C#C#(网站和(网站和WebWeb应用程序)的几个应用程序)的几个例子进行说明。例子进行说明。5.2 ASP.
13、NET技术简介技术简介5.2.2 ASP.NET的程序结构的程序结构举例:用户登录程序(举例:用户登录程序(Visual Basic)该程序首先显示如下图所示的输入界面,输入用户名和密码后,点击“提交”按钮将它们输出并显示密码输入是否正确的提示,如图下图所示。登录界面登录界面 登录后的显示结果登录后的显示结果用户登录网站举例(VB)5.2 ASP.NET技术简介技术简介5.2.2 ASP.NET的程序结构的程序结构用户登录网站举例(目录DemoForWebsite)创创创创建建建建新新新新的的的的A AS SP P.N NE ET T 网网网网站站站站5.2 ASP.NET技术简介技术简介5.
14、2.2 ASP.NET的程序结构的程序结构用户登录网站举例(目录DemoForWebsite)创创创创建建建建新新新新的的的的A AS SP P.N NE ET T WWe eb b应应应应用用用用程程程程序序序序5.2 ASP.NET技术简介技术简介5.2.2 ASP.NET的程序结构的程序结构 从上面几个例子可以看出,从上面几个例子可以看出,ASP.NETASP.NET应用程序由界面和程序代码应用程序由界面和程序代码两大部分构成:两大部分构成:(1)(1)界面部分,界面部分,主要由主要由HTMLHTML标记标记和和控件标记控件标记构成,从构成,从标记开始,至标记开始,至结束。主要用于定义结
15、束。主要用于定义页面的外观显示特性页面的外观显示特性和应用程序所包含的和应用程序所包含的控件标识控件标识。由于由于ASP.NETASP.NET使用了使用了WebWeb服务器控件进行界面设计,所以服务器控件进行界面设计,所以ASP.NETASP.NET应用程序的界应用程序的界面部分包含了控件标记,如上例中的面部分包含了控件标记,如上例中的Asp:TextBox Runat=Server Id=UserName/,即为一个文本框控件标记。,即为一个文本框控件标记。(2)(2)程序代码部分程序代码部分,由脚本程序标记,由脚本程序标记Script Language=“Runat=“Server”和和将
16、程序包含起来。程序代码的作用主要是进行窗体将程序包含起来。程序代码的作用主要是进行窗体和控件事件的处理。和控件事件的处理。ASP.NETASP.NET支持多种高级语言程序代码,包括支持多种高级语言程序代码,包括Visual Basic.NETVisual Basic.NET和和C#C#等,所使用的高级语言名称在等,所使用的高级语言名称在标记中指出,如上例使用的是标记中指出,如上例使用的是VB.NETVB.NET语语言和言和C#C#语言。语言。5.2 ASP.NET技术简介技术简介5.2.2 ASP.NET的程序结构的程序结构ASP.NETASP.NET程序的后缀名是程序的后缀名是.aspx.a
17、spx。当一个浏览器第一次请求。当一个浏览器第一次请求ASPXASPX文文件时,件时,ASP.NETASP.NET页面将被页面将被CLRCLR编译器编译。此后,当再有用户访问此页面编译器编译。此后,当再有用户访问此页面的时候,由于的时候,由于ASPXASPX页面已经被编译过,所以页面已经被编译过,所以CLRCLR会直接执行编译过的代会直接执行编译过的代码。码。ASP.NETASP.NET支持可编译的语言,包括支持可编译的语言,包括VB.NETVB.NET、C#C#、JScript.NETJScript.NET等。所等。所以,以,ASP.NETASP.NET是一次编译、多次执行。是一次编译、多次
18、执行。一般来说,下面两种情况下,一般来说,下面两种情况下,ASPXASPX会被重新编译:会被重新编译:1.ASP.NET1.ASP.NET页面第一次被浏览器请求。页面第一次被浏览器请求。2.ASP.NET2.ASP.NET程序被改写。程序被改写。由于由于ASPXASPX页面可以被编译,所以页面可以被编译,所以ASPXASPX页面具有组件一样的性能。这页面具有组件一样的性能。这就使得就使得ASPXASPX页面至少比同样功能的页面至少比同样功能的ASPASP页面快页面快2 2倍以上。倍以上。A AS SP P.N NE ET T程程程程序序序序执执执执行行行行5.2 ASP.NET技术简介技术简介
19、5.2.2 ASP.NET的程序结构的程序结构 一个标准的一个标准的ASP.NETASP.NET应用程序由多个文件组成,包括应用程序由多个文件组成,包括WebWeb页面、页面、HTTPHTTP处理模块以及可执行的代码、配置文件和数处理模块以及可执行的代码、配置文件和数据库文件等等。据库文件等等。5.2 ASP.NET技术简介技术简介5.2.2 ASP.NET的程序结构的程序结构A AS SP P.N NE ET T程程程程序序序序执执执执行行行行ASP.NETASP.NET应用程序可能包括如下类型的一个或多个文件:应用程序可能包括如下类型的一个或多个文件:aspxaspx文件:文件:标准的标准
20、的WebWeb页面文件,包含用户界面和代码文件(页面文件,包含用户界面和代码文件(.c.cs s或或.vb.vb)。)。ascxascx文件:文件:ASP.NETASP.NET用户控件,用户控件与用户控件,用户控件与WebWeb页面类似,但是用户将不页面类似,但是用户将不能直接访问这些文件,必须将用户控件宿主到能直接访问这些文件,必须将用户控件宿主到WebWeb页面。用户界面最大的页面。用户界面最大的优势在于可重用、简化在一个优势在于可重用、简化在一个WebWeb页面上过多的页面上过多的UIUI元素和代码块。元素和代码块。asmxasmx文件:文件:ASP.NET WebASP.NET Web
21、服务文件,服务文件,WebWeb服务提供一系列方法来供其他应服务提供一系列方法来供其他应用程序进行远程调用。用程序进行远程调用。WebWeb服务与服务与WebWeb页面类似的是,也共享同一应用程页面类似的是,也共享同一应用程序域的资源配置和设置等等。序域的资源配置和设置等等。Web.ConfigWeb.Config文件:文件:这是一个基于这是一个基于XMLXML的的ASP.NETASP.NET配置文件,在这个文件中配置文件,在这个文件中可以包含很多可以包含很多ASP.NETASP.NET相关的设置信息,比如相关的设置信息,比如数据库连接、安全设置、状数据库连接、安全设置、状态管理、内存管理态管
22、理、内存管理等等。等等。Global.asaxGlobal.asax文件:文件:全局应用程序文件,可以用来定义在整个应用程序范全局应用程序文件,可以用来定义在整个应用程序范围可用的全局变量,响应全局事件。围可用的全局变量,响应全局事件。cscs文件:文件:代码后置文件,允许开发人员分离用户界面与代码逻辑。代码后置文件,允许开发人员分离用户界面与代码逻辑。5.2 ASP.NET技术简介技术简介5.2.2 ASP.NET的程序结构的程序结构A AS SP P.N NE ET T目目目目录录录录介介介介绍绍绍绍 每个每个WebWeb应用程序都应该有良好规划的目录结构,应用程序都应该有良好规划的目录结
23、构,在在ASP.NETASP.NET中,提供了几个特定的子目录来组织不同中,提供了几个特定的子目录来组织不同类型的文件。类型的文件。在在VS2008VS2008中,将会提醒用户可能需要将特定的文中,将会提醒用户可能需要将特定的文件放在特定的文件夹中,也可以在网站项目上右击鼠件放在特定的文件夹中,也可以在网站项目上右击鼠标,在弹出的菜单中选择标,在弹出的菜单中选择“添加添加ASP.NETASP.NET文件夹文件夹”菜菜单项,会看到如下页图所示的单项,会看到如下页图所示的ASP.NETASP.NET特定文件夹。特定文件夹。5.2 ASP.NET技术简介技术简介5.2.2 ASP.NET的程序结构的
24、程序结构添添添添加加加加A AS SP P.N NE ET T新新新新文文文文件件件件夹夹夹夹截截截截图图图图5.2 ASP.NET技术简介技术简介5.2.2 ASP.NET的程序结构的程序结构A AS SP P.N NE ET T目目目目录录录录介介介介绍绍绍绍1.Bin文件夹:包含文件夹:包含WEB应用程序要使用的已编译应用程序要使用的已编译好的好的.NET组件程序集。组件程序集。2.App_Code:源代码文件。:源代码文件。3.App_GlobalResource:全局资源文件,如本地化:全局资源文件,如本地化需要的资源。需要的资源。4.App_LocalResource:特定网页使用
25、的资源文件。:特定网页使用的资源文件。5.App_Data:数据库文件。:数据库文件。6.App_Themes:控制:控制WEB应用的外观文件。应用的外观文件。7.App_Browsers:浏览器定义文件,标识个别浏:浏览器定义文件,标识个别浏览器并确定其功能。览器并确定其功能。5.2 ASP.NET技术简介技术简介5.2.3 ASP.NET的配置的配置v在在ASP.NETASP.NET应用程序中,配置文件具有举足轻重的地位。应用程序中,配置文件具有举足轻重的地位。ASP.NETASP.NET的的配置信息保存在基于配置信息保存在基于XMLXML的文本文件中,通常命名为的文本文件中,通常命名为W
26、eb.configWeb.config。在一个在一个ASP.NETASP.NET应用程序中,可以出现一个或多个应用程序中,可以出现一个或多个Web.configWeb.config文件,文件,这些文件根据需要存放在应用程序的不同文件夹中。这些文件根据需要存放在应用程序的不同文件夹中。5.2 ASP.NET技术简介技术简介5.2.3 ASP.NET的配置的配置w we eb b.c co on nf fi ig g配配配配置置置置文文文文件件件件vweb.configweb.config继承自继承自.NET Framework.NET Framework安装目录的安装目录的machine.con
27、figmachine.config文件,文件,machine.configmachine.config配置文件存储了与影响整个机器的配置信息,不管配置文件存储了与影响整个机器的配置信息,不管应用程序位于哪个应用程序域中,都将取用应用程序位于哪个应用程序域中,都将取用machine.configmachine.config中的配中的配置。置。vweb.configweb.config继承了继承了machine.configmachine.config中的大部分设置,同时也允许开发中的大部分设置,同时也允许开发人员添加自定义配置,或者是覆盖人员添加自定义配置,或者是覆盖mchine.configm
28、chine.config中己有的配置。中己有的配置。5.2 ASP.NET技术简介技术简介5.2.3 ASP.NET的配置的配置machine.config配置文件存储路径图配置文件存储路径图5.2 ASP.NET技术简介技术简介5.2.3 ASP.NET的配置的配置w we eb b.c co on nf fi ig g配配配配置置置置文文文文件件件件5.2 ASP.NET技术简介技术简介三三三三个个个个常常常常用用用用的的的的配配配配置置置置节节节节配置节允许开发人员添加多种自定义的信息块,比如应配置节允许开发人员添加多种自定义的信息块,比如应用程序的标题、程序作者等信息。用程序的标题、程
29、序作者等信息。配置节允许开发人员定义连接数据库的连接信息。配置节允许开发人员定义连接数据库的连接信息。块保存了用户将配置的每个块保存了用户将配置的每个ASP.NETASP.NET配置,如用户访问授配置,如用户访问授权机制,可以有多个权机制,可以有多个配置块。配置块。5.2.3 ASP.NET的配置的配置5.2 ASP.NET技术简介技术简介嵌嵌嵌嵌套套套套配配配配置置置置设设设设置置置置n嵌套的配置设置是指,可在一个应用程序中同时应用多个嵌套的配置设置是指,可在一个应用程序中同时应用多个web.config文件,文件,ASP.NET使用多层次的配置系统,允许开使用多层次的配置系统,允许开发人员
30、在不同的层次配置设置。发人员在不同的层次配置设置。5.2.3 ASP.NET的配置的配置5.2 ASP.NET技术简介技术简介嵌嵌嵌嵌套套套套配配配配置置置置设设设设置置置置 比如,在比如,在FirstWebSiteFirstWebSite网站的根目录中,有一个网站的根目录中,有一个web.configweb.config配配置文件,该文件提供了整个网站都可用的配置信息。置文件,该文件提供了整个网站都可用的配置信息。为了演示嵌套配置设置,在该网站中新添加一个文件夹,右击为了演示嵌套配置设置,在该网站中新添加一个文件夹,右击FirstWebSiteFirstWebSite项目名称,选择项目名称,
31、选择“新建文件夹新建文件夹”菜单项,命名为菜单项,命名为CustomerCustomer,在,在CustomerCustomer下添加一个下添加一个customer.aspxcustomer.aspx的的Web FormWeb Form,接,接下来右击下来右击CustomerCustomer文件夹,选择添加新项,在弹出的添加新项窗口文件夹,选择添加新项,在弹出的添加新项窗口中选择中选择“WebWeb配置文件配置文件”项。项。创建一个FirstWebSite_Config网站实例5.2.3 ASP.NET的配置的配置5.2 ASP.NET技术简介技术简介嵌嵌嵌嵌套套套套配配配配置置置置设设设设置
32、置置置 嵌套配置设置示意图嵌套配置设置示意图,说明:子目录的配置项将继承其父,说明:子目录的配置项将继承其父目录的配置项,而虚线箭头表示子目录的配置项又会覆盖父目目录的配置项,而虚线箭头表示子目录的配置项又会覆盖父目录中的配置项。录中的配置项。嵌套配套设置5.2.3 ASP.NET的配置的配置5.2 ASP.NET技术简介技术简介在在在在w we eb b.c co on nf fi ig g中中中中存存存存储储储储自自自自定定定定义义义义设设设设置置置置 在在中,允许开发人员保存自己的配置设置,在配置中,允许开发人员保存自己的配置设置,在配置文件中保存自定义设置信息是非常有用的,可以集中化被
33、多个页面使文件中保存自定义设置信息是非常有用的,可以集中化被多个页面使用的配置设置,可以快整切换不同类型的操作,为变量设置初始值等用的配置设置,可以快整切换不同类型的操作,为变量设置初始值等等。等。在在中,可以使用中,可以使用元素来添加一个键和一个值,元素来添加一个键和一个值,新建一个名为新建一个名为appSettingDemo的网站,在的网站,在配置节中添加配置节中添加如下的配置代码:如下的配置代码:appsettingsDemo实例5.2.3 ASP.NET的配置的配置5.2 ASP.NET技术简介技术简介A AS SP P.N NE ET T WWe eb b站站站站点点点点管管管管理理
34、理理工工工工具具具具WWA AT Tn在在VS2008中,提供了一个中,提供了一个相当方便的网站管理工具,相当方便的网站管理工具,使开发人员可以使用可视使开发人员可以使用可视化的方式来设置配置文件。化的方式来设置配置文件。n可以单击可以单击VS2008主菜单中主菜单中的的“网站网站|ASP.NET配置配置”菜单项来打开菜单项来打开WAT。5.2.3 ASP.NET的配置的配置5.2 ASP.NET技术简介技术简介A AS SP P.N NE ET T WWe eb b站站站站点点点点管管管管理理理理工工工工具具具具WWA AT T WAT是一个基于是一个基于Web的配置管理工具,的配置管理工具
35、,这个工具将以可视化的这个工具将以可视化的方式编辑位于网站根目方式编辑位于网站根目录中的录中的web.config文件,文件,初始打开时的页面如下初始打开时的页面如下图所示。图所示。5.2.3 ASP.NET的配置的配置5.2 ASP.NET技术简介技术简介编编编编程程程程读读读读取取取取和和和和写写写写入入入入配配配配置置置置设设设设置置置置5.2.3 ASP.NET的配置的配置 ASP.NET在System.Web.Configuration命名空间中提供了WebConfigurationManager类,用来在运行时编程读取和写入配置设置。WebConfigurationManager静
36、态类中的几个成员如下所示:AppSettings属性属性:提供访问添加到节中的自定义信息。ConnectionStrings属性属性:提供访问配置项中的信息。OpenWebConfiguration()方法方法:为指定的Web应用程序返回配置对象。OpenMachineConfiguration()方法方法:返回对machine.config文件进行访问的配置对象。nWebConfigurationManager实例5.2 ASP.NET技术简介技术简介5.2.4 Web的窗体结构的窗体结构nASP.NET Web应用程序主要是由许许多多的应用程序主要是由许许多多的Web页面(也可称之为页面(
37、也可称之为Web窗体)组成,访问应用程序的用户将会在浏览器中直接看到这些窗体)组成,访问应用程序的用户将会在浏览器中直接看到这些Web窗体的运行效果。在窗体的运行效果。在ASP.NET中,开发人员可以使用类似于开发中,开发人员可以使用类似于开发Windows应用程序的应用程序的基于控件方式基于控件方式来开发来开发ASP.NET应用程序,当应用程序,当ASP.NET Web窗体运行时,窗体运行时,ASP.NET引擎读取整个引擎读取整个.aspx文件,生成文件,生成相应的对象,并触发一系列事件。相应的对象,并触发一系列事件。5.2 ASP.NET技术简介技术简介基基基基于于于于事事事事件件件件的的
38、的的编编编编程程程程模模模模型型型型5.2.4 Web的窗体结构的窗体结构 ASP.NET使用事件驱动的编程模型,这与使用事件驱动的编程模型,这与Windows开发有点类似,开开发有点类似,开发人员只需要向发人员只需要向Web窗体添加控件,然后响应相应的控件事件。窗体添加控件,然后响应相应的控件事件。5.2 ASP.NET技术简介技术简介基基基基于于于于事事事事件件件件的的的的编编编编程程程程模模模模型型型型5.2.4 Web的窗体结构的窗体结构ASP.NET事件编程模型的一个基本过程如下面的步骤所示:(1)当页面首次运行时,ASP.NET创建page对象和控件对象,初始化代码将被执行,然后页
39、面以HTML格式返回到客户端。(2)当用户触发了页面回发(Postback)时,通常是触发了一些事件,比如单击按钮事件,这时候页面将再次提交所有的表单数据到服务器端。(3)ASP.NET截取返回的页面,并重新创建(加载)page对象。(4)ASP.NET检查是什么事件触发了Postback,并触发相应的事件,这时候开发人员编写的触发事件的代码将被执行。(5)页面将以HTML格式返回到客户端。page对象从内存中释放,如果其他postback产生,ASP.NET将重复2-4步骤。5.2 ASP.NET技术简介技术简介自自自自动动动动回回回回发发发发特特特特性性性性5.2.4 Web的窗体结构的窗
40、体结构1.当使用者在客户端触发事件时,产生了一个客户端行为,服务器其实并不知道客户端触发了事件。因此需要一种机制将在客户端产生的事件传递到服务器端,让服务器端能有机会执行相应的服务器端代码。自动回发机制完成了这个任务。2.由于涉及到客户端与服务器端的通信,在ASP.NET中,不能像在Windows一样快速的响应事件,对于频繁产生的事件,会严重的影响服务器端的性能。3.大多数ASP.NET服务器控件具有一个AutoPostBack属性,当将该属性设置为True时,会对该控件触发的事件产生页面回发行为。4.客户端是如何通知服务器端事件被触发了呢?这其实是通过JavaScript函数来实现的。5.2
41、 ASP.NET技术简介技术简介自自自自动动动动回回回回发发发发特特特特性性性性5.2.4 Web的窗体结构的窗体结构n新建新建Web网站,命名为网站,命名为AutoPostDemo,拖一个,拖一个Label和一个和一个LinkButton控件到页面,注意到控件到页面,注意到LinkButton是没有是没有AutoPostBack属属性的,因为单击按钮必须要产生一个回发过程以便执行服务器端代性的,因为单击按钮必须要产生一个回发过程以便执行服务器端代码。码。nAutoPostDemo实例5.2 ASP.NET技术简介技术简介WWe eb b窗窗窗窗体体体体处处处处理理理理流流流流程程程程5.2.
42、4 Web的窗体结构的窗体结构n当客户端发起对一个当客户端发起对一个Web窗体的请求后,窗体的请求后,Web窗体执行了很多的步骤用来生成客窗体执行了很多的步骤用来生成客户端所需要的页面。当客户端发起对一户端所需要的页面。当客户端发起对一个个Web页面的请求时,页面的请求时,ASP.NET将执行将执行如下图所示的如下图所示的6个步骤来完成页面的处个步骤来完成页面的处理过程,如图所示。理过程,如图所示。nPageLifeCycleDemo实例Page_InitPage_loadPage_UnloadPage_PreRender5.2 ASP.NET技术简介技术简介A AS SP P.N NE ET
43、 T中中中中的的的的P Pa ag ge e类类类类5.2.4 Web的窗体结构的窗体结构n 每当创建一个新的Web窗体时,总是从System.Web.UI.Page开始继承。Page类是ASP.NET中所有Web窗体的父类,该类提供了大量的功能给ASP.NET应用程序使用,比如使用FindControl方法来页面上的搜索控件,使用Page.IsPostBack属性判断是否是页面回发。Page类类5.2 ASP.NET技术简介技术简介A AS SP P.N NE ET T中中中中的的的的P Pa ag ge e类类类类5.2.4 Web的窗体结构的窗体结构Page类提供了如下几个重要且十分常用
44、的属性:类提供了如下几个重要且十分常用的属性:IsPostBack属性:这个布尔属性指定页面是否是初次加载还是回送加载。属性:这个布尔属性指定页面是否是初次加载还是回送加载。EnableViewState属性:布尔属性,指定是否允许视图状态,这个属性将覆盖页面中控件的属性:布尔属性,指定是否允许视图状态,这个属性将覆盖页面中控件的EnableViewState属性的设置。属性的设置。Application属性:保存在属性:保存在Web站点中可以被所有用户使用的信息的集合。站点中可以被所有用户使用的信息的集合。Session属性:保存只能被单个用户使用的信息的集合。属性:保存只能被单个用户使用的
45、信息的集合。Cache属性:允许开发人员对页面中的对象进行缓存。属性:允许开发人员对页面中的对象进行缓存。Request属性:这是一个属性:这是一个HttpRequest类型的对象,包含当前的类型的对象,包含当前的Web请求的信息,使用这个请求的信息,使用这个属性可以获取用户端浏览器信息,从一个页面向另一个页面传递数据等等。属性可以获取用户端浏览器信息,从一个页面向另一个页面传递数据等等。Response属性:这是一个属性:这是一个HttpResponse类型的对象,表示类型的对象,表示ASP.NET将发送到客户端浏览器将发送到客户端浏览器的响应信息。的响应信息。Server属性,这是一个属性
46、,这是一个HttpServerUtility类型的对象,允许完成多种类型的任务,比如对类型的对象,允许完成多种类型的任务,比如对HTML文本进行编码,跳转到其他文本进行编码,跳转到其他Web站点中等等。站点中等等。User属性:如果用户经过验证,这个属性将初始化用户信息。属性:如果用户经过验证,这个属性将初始化用户信息。Page类还是一个控件容器类,因此提供大量的查找或设置控件的方法,可以动态的创类还是一个控件容器类,因此提供大量的查找或设置控件的方法,可以动态的创建用户界面。建用户界面。5.2 ASP.NET技术简介技术简介页页页页面面面面重重重重定定定定向向向向5.2.4 Web的窗体结构
47、的窗体结构 Response类提供了一个Redirect方法,该方法可以将页面重定向到另一个页面。示例程序:使用Page类进行页面的重定向操作,步骤如下:(1)新建一个ASP.NET网站,命名为RedirectDemo。在该网站上添加一个新的Web页面,命名为NewWebForm.aspx。在Default.aspx中添加两个Button控件,设置相应的属性,(2)双击Button1控件,在其代码框架中添加代码:Response.Redirect(NewWebForm.aspx);(3)使用另一种方法来重定向页面,双击Button2控件,在其代码框架中添加如下的代码:Server.Transf
48、er(NewWebForm.aspx);nRedirectDemo实例5.2 ASP.NET技术简介技术简介 在在ASP.NET中,当应用程序启动时,应用程序终止时都会触发一中,当应用程序启动时,应用程序终止时都会触发一些事件,使用这些事件可以完成一些特殊的处理工作,比如撰写日志些事件,使用这些事件可以完成一些特殊的处理工作,比如撰写日志等。等。Global.asax允许开发人员编写代码以响应这些应用程序事件,本允许开发人员编写代码以响应这些应用程序事件,本节将详细讨论如何响应应用程序事件。节将详细讨论如何响应应用程序事件。5.2.5应用程序事件应用程序事件5.2 ASP.NET技术简介技术简
49、介基基基基本本本本应应应应用用用用程程程程序序序序事事事事件件件件5.2.5应用程序事件应用程序事件Global.asax代码框架中只包含了基本的应用和事件,基本的应用程序事件如下表。事件名称事件名称描述描述Application_Start()在应用程序启动后,当有一个用户请求时触发这个事件,后继在应用程序启动后,当有一个用户请求时触发这个事件,后继的用户请求将不会触发该事件,在该事件中通常用于创建或者的用户请求将不会触发该事件,在该事件中通常用于创建或者缓存一些初始信息以便于以后重用。缓存一些初始信息以便于以后重用。Application_End()当应用程序关闭时,比如当应用程序关闭时,
50、比如Web服务器重新启动时触发事件,可服务器重新启动时触发事件,可以在这个事件中插入清除代码。以在这个事件中插入清除代码。Application_Error()该事件响应未被处理的错误(看实例)。该事件响应未被处理的错误(看实例)。Application_BeginRequest()当有用户请求产生时,触发该事件,这个事件发生在页面代码当有用户请求产生时,触发该事件,这个事件发生在页面代码执行之前。执行之前。Application_Endrequest()当有用户请求产生时,触发该事件,这个事件发生在页面代码当有用户请求产生时,触发该事件,这个事件发生在页面代码执行之后。执行之后。Sessio