《Web系统设计.ppt》由会员分享,可在线阅读,更多相关《Web系统设计.ppt(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Web系统设计系统设计主要内容主要内容 ASP.NET控件及应用控件及应用页面切换与导航页面切换与导航ASP.NET状态管理状态管理ADO.net及与及与ASP.NET数据访问数据访问母板页与内容页母板页与内容页XML及其应用及其应用作业作业设计一个设计一个Web系统(网站)。系统(网站)。要求:题目自拟界面优美,功能实用,要有要求:题目自拟界面优美,功能实用,要有数据的动态交互能力。数据的动态交互能力。提交:提交:设计文档设计文档(包含系统的设计思路和数据库设计)(包含系统的设计思路和数据库设计)软件软件第一讲第一讲 1.3 ASP.NET的处理方式的处理方式1.4 开发开发ASP.NET
2、Web应用程序的一般流应用程序的一般流程程 ASP 1.0 ,IIS(Internet信息服务)的附属产品信息服务)的附属产品免费发送免费发送 。1998年发布了年发布了ASP 2.0 。2002年年3月,月,Microsoft公司正式推出公司正式推出Visual Studio.NET中文版中文版 。ASP.NET 1.0也诞生也诞生 。2003年 ,年 , Mi cro s o f t 公 司 发 布 了公 司 发 布 了 Vi s u a l Studio.NET 2003(简称(简称VS.NET 2003)。)。 2005年底,年底,Microsoft公司又发布了基于公司又发布了基于.N
3、ET 2.0框架的框架的VS 2005开发平台。开发平台。 VS 2005是一个综合性的软件开发平台,有是一个综合性的软件开发平台,有四个版本:四个版本:Team SystemProfessionalStandardExpress分别适用于大型软件开发团体、中小型软分别适用于大型软件开发团体、中小型软件开发公司以及业余开发者。件开发公司以及业余开发者。我们采用第二个版本来介绍我们采用第二个版本来介绍ASP.NET网页网页设计和网站开发方法。设计和网站开发方法。ASP.NET的主要功能的主要功能:设计设计Web窗体窗体样式表样式表母版页母版页数据库访问数据库访问用户控件用户控件XML WebSe
4、rvice网站生成与发布网站生成与发布1.3 ASP.NET的处理方式的处理方式采用采用B/S模式模式WebWeb服务器服务器浏览器浏览器客户机客户机服务器服务器访问访问返回信息返回信息数据库数据库发出操作发出操作返回数据返回数据1.4 开发开发ASP.NET Web应用程序的一般流程应用程序的一般流程 (例例) 创建 ASP.NET Web 应用程序 应用程序 开发调试 应用程序发布 系统数据库实现 基本类文件实现 Web 页面实现 图片制作 素材收集 1.4 开发开发ASP.NET Web应用程序的一般流程应用程序的一般流程发布一个实际的网站发布一个实际的网站(例例)第二讲第二讲ASP.N
5、ET控件及应用控件及应用HTML控件及控件及HTML服务器控件服务器控件标准标准Web服务器控件服务器控件 服务器数据验证控件服务器数据验证控件用户控件用户控件2.1 HTML控件及控件及HTML服务器控件(例服务器控件(例2.1)HTML控件控件HTML服务器控件:在服务器控件:在HTML控件的基础控件的基础上加上上加上runat=server2.2 标准标准Web服务器控件服务器控件 LableTextBoxDropDownListListBoxImageCheckBox 、CheckBoxListRadioButton、RadioButtonListCalendarButton、Link
6、Button、ImageButtonHyperLinkTablePanel标准标准Web服务器控件共有属性服务器控件共有属性Arrtibutes:附加属性,编程时使用:附加属性,编程时使用BackColor、BorderColor:背景色和边框色:背景色和边框色BorderWidth、BorderStyle:边框宽度和样式:边框宽度和样式CssClass:分配给该组件的:分配给该组件的CSS类类Style:文本属性集合:文本属性集合Enabled:是否被禁用:是否被禁用Font:字体:字体ForeColor:前景色:前景色Height、 Width :高和宽:高和宽TabIndex:Tab顺序
7、顺序ToolTip:工具提示文本:工具提示文本2.2 标准标准Web服务器控件按钮控件服务器控件按钮控件(例例2.1)ButtonImageButtonLinkButton2.2 标准标准Web服务器控件文本控件(服务器控件文本控件(例例2.2)LableTextBox2.2 标准标准Web服务器控件选择控件(服务器控件选择控件(例例2.3)RadioButton与与RadioButtonListCheckBox与与CheckBoxList2.2 标准标准Web服务器控件列表选择控件(服务器控件列表选择控件(例例2.4)ListBoxDropDownList2.2 标准标准Web服务器控件图片
8、有关控件服务器控件图片有关控件Image(例(例2.5)ImageMap(例(例2.6)2.3服务器数据验证控件(服务器数据验证控件(例例2.7)ReguiredFieldValidator必需项检查控件必需项检查控件RangeValidator范围验证控件范围验证控件CompareValidator比较验证控件比较验证控件RegularExpressionValidate正则表达式验正则表达式验证控件(模式匹配)证控件(模式匹配)ValidationSummary验证总结控件验证总结控件CustomValidator用户定义验证控件用户定义验证控件2.4用户控件(例用户控件(例2.8)在某些
9、情况下,使用在某些情况下,使用ASP.NET提供的单个提供的单个或现有的或现有的Web服务器控件不能满足要求。服务器控件不能满足要求。 用户控件是能够在其中放置标记和用户控件是能够在其中放置标记和Web服服务器控件的容器,可以将用户控件作为一务器控件的容器,可以将用户控件作为一个单元对待,为其定义属性和方法。个单元对待,为其定义属性和方法。第三讲页面切换与导航第三讲页面切换与导航3.1页面切换页面切换3.2网页间的数据传递网页间的数据传递 3.3站点导航站点导航3.1 页面切换页面切换(例例3.1)使用超链接使用超链接 利用按钮的利用按钮的PostBackUrl属性属性 利用利用Respons
10、e.Redirect或或Server.Transfer 3.1 页面切换页面切换Response.Redirect与与Server.Transfer区别:区别:Response.Redirect使浏览器链接到一个指使浏览器链接到一个指定的定的URL 。重定向操作发生在客户端,共涉。重定向操作发生在客户端,共涉及两次与服务器的通信(两个来回):第一及两次与服务器的通信(两个来回):第一次是对原始页面的请求,得到一个应答;第次是对原始页面的请求,得到一个应答;第二次是请求应答中声明的新页面,得到重定二次是请求应答中声明的新页面,得到重定向之后的页面。向之后的页面。3.1 页面切换页面切换Respo
11、nse.Redirect与与Server.Transfer区别:区别:Server.Transfer方法直接在服务器端把执行方法直接在服务器端把执行流程从当前的网页转到同一个应用程序的流程从当前的网页转到同一个应用程序的另一个网页。调用另一个网页。调用Server.Transfer方法时,方法时,当前的页面终止执行,然后将执行流程转当前的页面终止执行,然后将执行流程转入另一个页面,但新的页面仍使用前一页入另一个页面,但新的页面仍使用前一页面创建的应答流。面创建的应答流。3.2 网页间的数据传递网页间的数据传递 使用使用QueryString传递数据(例传递数据(例3.2)利用利用Session
12、对象传递或共享数据对象传递或共享数据(例(例3.3)利用利用PreviousPage属性获取数据属性获取数据 (例例3.3) 3.3 站点导航站点导航(1)使用站点地图描述站点的逻辑结构。添)使用站点地图描述站点的逻辑结构。添加或移除页面时,开发人员可以简单地通加或移除页面时,开发人员可以简单地通过修改站点地图来管理页导航。过修改站点地图来管理页导航。(2)提供导航控件在网页上显示导航菜单。)提供导航控件在网页上显示导航菜单。导航菜单以站点地图为基础。导航菜单以站点地图为基础。(3)可以以代码方式使用)可以以代码方式使用ASP.NET站点导站点导航,以创建自定义导航控件或修改在导航航,以创建自
13、定义导航控件或修改在导航菜单中显示的信息的位置。菜单中显示的信息的位置。3.3 站点导航(例站点导航(例3.4)站点地图和站点地图和SiteMapPath控件控件利用利用Menu控件实现自定义导航控件实现自定义导航 利用利用TreeView控件实现自定义导航控件实现自定义导航 第四讲第四讲ASP.NET状态管理状态管理4.1 页面管理页面管理4.2 状态管理状态管理 4.3 ASP.NET配置管理配置管理 4.1 页面管理页面处理机制页面管理页面处理机制 循环循环(1)用户通过客户端浏览器请求页面,页面)用户通过客户端浏览器请求页面,页面第一次运行。第一次运行。(2)页面将标记动态呈现到浏览器
14、,浏览器)页面将标记动态呈现到浏览器,浏览器对标记进行解析并显示。对标记进行解析并显示。(3)用户操作页面。)用户操作页面。(4)页面发送到)页面发送到Web服务器(回发)。服务器(回发)。(5)服务器执行后台代码指定的操作。)服务器执行后台代码指定的操作。(6)服务器将执行操作后的页面以)服务器将执行操作后的页面以HTML或或XHTML标记的形式发送到客户端浏览器。标记的形式发送到客户端浏览器。WebWeb服务器服务器浏览器浏览器客户机客户机服务器服务器访问访问返回信息返回信息数据库数据库发出操作发出操作返回数据返回数据4.1 页面管理数据提交方式页面管理数据提交方式HTTP GET和和HT
15、TP POST 。(例。(例3.5)其中其中HTTP GET是把数据用显式方式是把数据用显式方式进行提交,而进行提交,而HTTP POST则是把数据用隐则是把数据用隐式方式进行提交。式方式进行提交。 (1)GET方式通过方式通过URL请求来传递用户的请求来传递用户的数据,它将表单内各字段名称与其内容,以数据,它将表单内各字段名称与其内容,以字符串的形式放在字符串的形式放在URL的后面。如果的后面。如果URL后有参数,该后有参数,该URL和其后面的参数信息也会和其后面的参数信息也会在 浏 览 器 的 地 址 栏 中 显 示 , 例 如 :在 浏 览 器 的 地 址 栏 中 显 示 , 例 如 :
16、 http:/ POST方式则是将表单内各字段名称及其内方式则是将表单内各字段名称及其内容放置在容放置在HTML表头内一起传送给服务器处表头内一起传送给服务器处理。理。4.1 页面管理数据提交方式页面管理数据提交方式(2)GET方式需要使用方式需要使用 Request.QueryString方法来取得传递的数方法来取得传递的数据值;而据值;而POST方式通过方式通过Request.Form来来访问提交的内容。访问提交的内容。(3)GET方式传输的数据量非常小,一般限方式传输的数据量非常小,一般限制在制在2KB左右,但是执行效率却比左右,但是执行效率却比POST方方式高;而式高;而POST方式传
17、递的数据量相对较大,方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有容量它是等待服务器来读取数据,不过也有容量限制,这是为了避免用大量数据对服务器进限制,这是为了避免用大量数据对服务器进行恶意攻击。行恶意攻击。4.1 页面管理数据提交方式页面管理数据提交方式4.1 页面管理页面生存周期页面管理页面生存周期页请求页请求:页请求发生在页生命周期开始之前。页请求发生在页生命周期开始之前。 开始开始:在开始阶段,将设置页属性。在开始阶段,将设置页属性。页初始化页初始化:加载加载:验证验证:回发事件处理回发事件处理:呈现呈现:卸载卸载:4.2 状态管理状态管理4.2.1 ViewState对
18、象对象 4.2.2 Application对象与对象与Session对象对象 4.2.3 Cookie对象对象4.2.4 其他状态管理对象其他状态管理对象控件状态控件状态 隐藏域隐藏域 查询字符串查询字符串 配置文件属性配置文件属性 4.2.1 ViewState对象对象(例例4.2)视图状态视图状态:ASP.NET页框架默认情况下用于页框架默认情况下用于保存往返过程之间的页面信息以及控件值保存往返过程之间的页面信息以及控件值的方法。的方法。 当呈现页的当呈现页的HTML形式时,需要在回发过程形式时,需要在回发过程中保留的页的当前状态和值将被序列化为中保留的页的当前状态和值将被序列化为Base
19、64编码的字符串,并输出到视图状态编码的字符串,并输出到视图状态的隐藏字段中。的隐藏字段中。 4.2.1 ViewState对象对象(例例4.2)程序员可以通过使用页面的程序员可以通过使用页面的ViewState属性属性将往返过程中的数据保存到将往返过程中的数据保存到Web服务器端,服务器端,然后利用自己的代码访问视图状态。然后利用自己的代码访问视图状态。ViewState属性是一个包含密钥属性是一个包含密钥/值对(其值对(其中包含视图状态数据)的字典。中包含视图状态数据)的字典。4.2.2 Application对象与对象与Session对象(例对象(例4.2),一个虚拟目录下的所有,一个虚
20、拟目录下的所有ASP.NET文件构文件构成一个成一个Web应用程序,多个客户可通过浏应用程序,多个客户可通过浏览器同时访问同一个览器同时访问同一个Web应用程序,为了应用程序,为了让所有用户共享一些数据信息,可以依靠让所有用户共享一些数据信息,可以依靠Application对象,换句话说,利用对象,换句话说,利用Application对象可以定义类似于所有用户对象可以定义类似于所有用户公用的全局对象。公用的全局对象。由于由于Application对象是同一个虚拟目录下对象是同一个虚拟目录下的所有的所有.aspx文件共有的,所以对其进行操文件共有的,所以对其进行操作时,需要先进行锁定,操作完成后
21、再解作时,需要先进行锁定,操作完成后再解除锁定。除锁定。 4.2.2 Application对象与对象与Session对象例对象例4.2如何区分不同的浏览器客户呢?可以通过如何区分不同的浏览器客户呢?可以通过Session对象实现,当不同的浏览器客户访对象实现,当不同的浏览器客户访问服务器应用程序时,服务器会分别为每问服务器应用程序时,服务器会分别为每一个客户分配一段内存空间用于保存不同一个客户分配一段内存空间用于保存不同用户的数据信息,即每一个客户都可以有用户的数据信息,即每一个客户都可以有自己的自己的Session。定义与使用。定义与使用Session的方的方法也很简单,例如:法也很简单,
22、例如:Sessiononline=true;Sessioncounter= (int)Sessioncounter+1;关于关于Global.asax文件(习题文件(习题3)ASP.NET应用程序文件,该文件是一个可应用程序文件,该文件是一个可选的文件,它包含响应选的文件,它包含响应ASP.NET或或HTTP模模块所引发的应用程序级别和会话级别事件块所引发的应用程序级别和会话级别事件的代码。的代码。不是必需的,希望处理应用程序事件或会不是必需的,希望处理应用程序事件或会话事件时才需要。话事件时才需要。Global.asax文件常用事件文件常用事件Application_start事件:第一个客
23、户首次事件:第一个客户首次请求页面时触发。请求页面时触发。Session_start事件:每个客户首次请求事件:每个客户首次请求页面时触发。页面时触发。Application_End事件:在关闭应用程序事件:在关闭应用程序或者每个客户在规定时间内没有提出请求或者每个客户在规定时间内没有提出请求时触发。时触发。Session_End事件:在关闭应用程序或事件:在关闭应用程序或者每个客户在规定时间内没有提出请求时者每个客户在规定时间内没有提出请求时触发。触发。4.2.3 Cookie对象对象Cookie是一小段文本信息,提供了一种存是一小段文本信息,提供了一种存储用户特定信息的方法,伴随着用户请求
24、储用户特定信息的方法,伴随着用户请求和页面在和页面在Web服务器和浏览器之间传递。服务器和浏览器之间传递。(例例4.3) 4.2.4 其他状态管理对象(其他状态管理对象(例例4.4)控件状态控件状态 隐藏域隐藏域 查询字符串查询字符串 配置文件属性配置文件属性 第五讲第五讲ADO.net及与及与ASP.NET数据访问数据访问ADO.NET与与ASP.NET数据访问基础知识数据访问基础知识ASP.NET数据源控件数据源控件ASP.NET数据绑定控件数据绑定控件5.1 ADO.NET与与ASP.NET数据访问基础知识数据访问基础知识 Web应用程序 (ASP.NET) ADO.NET数据层 数据提
25、供程序 数据提供程序 数据提供程序 数据提供程序 数据源 (SQL Server、Oracle等) 数据源 (文本文件) 数据源 (Excel表格) 数据源 (XML文件) 5.1 ADO.NET与与ASP.NET数据访问基础知识数据访问基础知识5.1 ADO.NET与与ASP.NET数据访问基础知识数据访问基础知识1Connection对象主要用于建立与数据源的连接。主要用于建立与数据源的连接。在在ASP.NET2.0的的Web项目中项目中,可以自动保可以自动保存:用数据源控件或数据绑定控件的配置存:用数据源控件或数据绑定控件的配置数据源向导选择一个实际的数据源。完成数据源向导选择一个实际的
26、数据源。完成之后,在项目的之后,在项目的Web.config中会自动保中会自动保存与该数据源的连接字符串。存与该数据源的连接字符串。5.1 ADO.NET与与ASP.NET数据访问基础知识数据访问基础知识2Command对象Command对象可完成对数据库的定义、对象可完成对数据库的定义、修改以及数据查询,通俗点说就是用来对修改以及数据查询,通俗点说就是用来对数据库发出一些命令,像查询、新增、修数据库发出一些命令,像查询、新增、修改、改、和和删除数据等。删除数据等。它是基于它是基于Connection对象的,它是通过对象的,它是通过连接到数据源的连接到数据源的Connection对象来传递对象
27、来传递命令的,命令的,Connection连接到哪个数据源,连接到哪个数据源,Command对象就对哪个数据源传递命令。对象就对哪个数据源传递命令。 5.1 ADO.NET与与ASP.NET数据访问基础知识数据访问基础知识3DataReader对象主要用于按顺序读取数据源中的数据,不主要用于按顺序读取数据源中的数据,不作其他操作,使用起来不但节省资源而且作其他操作,使用起来不但节省资源而且效率很高,也不需要数据回传,从而有效效率很高,也不需要数据回传,从而有效地降低了网络负载地降低了网络负载。4DataAdapter对象主 要 用 于 将 数 据 源 中 的 数 据 填 充 到主 要 用 于
28、将 数 据 源 中 的 数 据 填 充 到DataSet,或者更新数据源中的数据。,或者更新数据源中的数据。 5.1 ADO.NET与与ASP.NET数据访问基础知识数据访问基础知识DataSet数据集:是支持是支持ADO.NET的断开式、分布式数据的断开式、分布式数据方案的核心对象。方案的核心对象。用于在内存中缓存各种数据源中的数据,用于在内存中缓存各种数据源中的数据,以供应用程序调用适合于不同类型平台间以供应用程序调用适合于不同类型平台间的数据传输。的数据传输。包含一个或多个数据表(包含一个或多个数据表(DataTable),),以及表的约束、索引和表之间的关系。以及表的约束、索引和表之间
29、的关系。5.1 ADO.NET与与ASP.NET数据访问基础知识数据访问基础知识 DataSet 数据模型数据模型 5.2 ASP.NET数据源控件数据源控件ASP.NET 2.0新增了几个独特的数据访问控新增了几个独特的数据访问控件,用于为数据绑定控件构造一个公共接件,用于为数据绑定控件构造一个公共接口框架,它们就是数据源对象。口框架,它们就是数据源对象。 SqlDataSource控件控件 XmlDataSource控件控件 ObjectDataSource控件控件 AccessDataSource控件控件5.2 ASP.NET数据源控件数据源控件 SqlDataSource控件控件Sql
30、DataSource控件控件(例例5.1)用于访问用于访问SQL关系数据库中的数据。关系数据库中的数据。可以与其他数据绑定控件一起使用,开发人员可以与其他数据绑定控件一起使用,开发人员用极少代码甚至不用代码,就可以在用极少代码甚至不用代码,就可以在ASP.NET网页上显示和操作数据。网页上显示和操作数据。5.2 ASP.NET数据源控件数据源控件 AccessDataSource控件控件用于检索用于检索Microsoft Access数据库(数据库(.mdb文文件)中的数据。然后在与之绑定的数据绑定件)中的数据。然后在与之绑定的数据绑定控件中显示数据,如控件中显示数据,如GridView、Fo
31、rmView和和DetailsView控件。控件。AccessDataSource控控件继承了件继承了SqlDataSource类,并用类,并用DataFile属性替换了属性替换了ConnectionString属性,这样更属性,这样更便于连接到便于连接到Microsoft Access数据库。数据库。5.2 ASP.NET数据源控件数据源控件XmlDataSource控件控件XmlDataSource控件控件可以从文件、可以从文件、URL或包含或包含XML内容的字符串中内容的字符串中加载加载XML数据,并将其绑定到数据绑定控件。数据,并将其绑定到数据绑定控件。能显示分层数据和表格数据,即是一
32、种层次性能显示分层数据和表格数据,即是一种层次性数据源又是一种表格式数据源。数据源又是一种表格式数据源。5.2 ASP.NET数据源控件数据源控件 ObjectDataSource控件控件ObjectDataSource控件控件在三层架构系统中,可以使用。它通过一种将在三层架构系统中,可以使用。它通过一种将表示层的数据控件绑定到中间层业务对象的方表示层的数据控件绑定到中间层业务对象的方法,为三层架构提供支持。法,为三层架构提供支持。在 不 使 用 扩 展 代 码 的 情 况 下 ,在 不 使 用 扩 展 代 码 的 情 况 下 , ObjectDataSource使用中间层业务对象以声使用中间
33、层业务对象以声明方式对数据执行选择、插入、更新、删除、明方式对数据执行选择、插入、更新、删除、分页、排序、缓存和筛选操作。分页、排序、缓存和筛选操作。5.3 ASP.NET数据绑定控件数据绑定控件绑定标准控件绑定标准控件GridView控件控件 DetailsView控件控件 FormView控件控件 5.3 ASP.NET数据绑定控件标准控件数据绑定控件标准控件绑定标准控件绑定标准控件DropDownList控件控件图片相关控件图片相关控件5.3 ASP.NET数据绑定控件数据绑定控件GridView控件控件 GridView控件的主要作用是通过数据源控控件的主要作用是通过数据源控件自动绑定
34、数据,然后按照数据源中的一件自动绑定数据,然后按照数据源中的一行显示为输出表中的一行的规则将数据显行显示为输出表中的一行的规则将数据显示出来。示出来。5.3 ASP.NET数据绑定控件数据绑定控件 DetailsView控件控件 DetailsView服务器控件用于显示显示、服务器控件用于显示显示、编辑、插入或删除一条与它相关联数据源编辑、插入或删除一条与它相关联数据源中一条记录,将记录的每个字段显示在它中一条记录,将记录的每个字段显示在它自己的一行内,它通常用于更新和插入新自己的一行内,它通常用于更新和插入新记录,该控件一次仅显示一条数据记录。记录,该控件一次仅显示一条数据记录。 5.3 A
35、SP.NET数据绑定控件数据绑定控件 FormView控件控件 FormView控件可以绑定到数据源控件上控件可以绑定到数据源控件上或者绑定到其他形式的数据源上,实现自或者绑定到其他形式的数据源上,实现自动更新、删除、插入和分页等功能。动更新、删除、插入和分页等功能。第六讲母板页与内容页第六讲母板页与内容页第七讲第七讲XML及其应用及其应用 XML(Extensible Markup Language,可扩展标记语言)是定义基于语义的、具可扩展标记语言)是定义基于语义的、具有层次结构标记的一种数据描述语言。简有层次结构标记的一种数据描述语言。简单地讲,它是一种结构化的、使用文本格单地讲,它是一种结构化的、使用文本格式存储的一种数据描述。也就是说,可以式存储的一种数据描述。也就是说,可以将数据表示为具有层次结构的结构化文本将数据表示为具有层次结构的结构化文本形式。由于任何平台都支持文本,所以把形式。由于任何平台都支持文本,所以把数据转换为文本就可以达到跨平台传递数数据转换为文本就可以达到跨平台传递数据的功能,从而轻松完成不同平台之间的据的功能,从而轻松完成不同平台之间的数据共享,也不会被防火墙拒之门外。数据共享,也不会被防火墙拒之门外。第七讲第七讲XML及其应用及其应用 张三张三 25 李四李四 36 第七讲第七讲XML及其应用及其应用第七讲第七讲XML及其应用及其应用