Ch21.ASP-NET Web应用程序_第1页
Ch21.ASP-NET Web应用程序_第2页
Ch21.ASP-NET Web应用程序_第3页
Ch21.ASP-NET Web应用程序_第4页
Ch21.ASP-NET Web应用程序_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、Ch21.ASP.NET Web应用程序ASP.NET Web应用程序概述创建ASP.NET Web应用程序使用ASP.NET Web服务器控件创建ASP.NET页面ASP.NET页面会话状态和页面导航ASP.NET Web应用程序的布局和导航ASP.NET主题和外观21.1 ASP.NET Web应用程序ASP.NET Web应用程序(网站)是基于ASP.NET创建的Web网站,通常对应于一个IIS(Internet 信息服务)虚拟目录,包含页面文件、控件文件、代码模块和服务,以及配置文件和各种资源ASP.NET Web应用程序可以包含下列特殊目录:App_Data:包含应用程序数据文件,如

2、MDF文件、XML文件和其他数据存储文件。ASP.NET 使用App_Data文件夹来存储用于维护成员和角色信息的应用程序的本地数据库。App_Themes:包含用于定义ASP.NET网页和控件外观的文件集合(.skin和.css文件以及图像文件和一般资源)。App_Browsers:包含 ASP.NET 用于标识个别浏览器并确定其功能的浏览器定义 (.browser) 文件。App_Code:包含作为应用程序一部分进行编译的实用工具类和业务对象(例如.cs、.vb 文件)的源代码。App_GlobalResources:包含编译到具有全局范围的程序集中的资源(.resx和.resources

3、 文件)。App_LocalResources:包含与应用程序中的特定页、用户控件或母版页关联的资源(.resx和.resources 文件)。App_WebReferences:包含用于定义在应用程序中使用的Web引用的引用协定文件(.wsdl文件)、架构(.xsd文件)和发现文档文件(.disco和.discomap文件)。Bin:包含要在应用程序中引用的控件、组件或其他代码的已编译程序集(.dll文件)21.1.2 创建ASP.NET Web应用程序 通常将IIS用作 Web 服务器,来运行 ASP.NET 应用程序 Visual Studio包括了一个内置的Web服务器,以方便开发人员

4、创建和调试ASP.NET Web应用程序 【例例21.1】使用Visual Studio创建本地ASP.NET网站21.2 ASP.NET Web页面 ASP.NET页面由代码和标记组成,并在服务器上动态编译和执行以呈现给发出请求的客户端浏览器 ASP.NET 页面是采用 .aspx 文件扩展名的文本文件。ASP.NET 提供两种用于管理可视元素和代码的模型: 单文件页模型:单文件页模型的标记和代码位于同一个.aspx 文件,其中编程代码位于 script 块中,该块包含 runat=server 属性 代码隐藏页模型:代码隐藏页模型的标记位于一个.aspx 文件,而编程代码则位于另一个.as

5、px.cs文件(使用CSharp编程语言时)ASP.NET的页面结构(1)指令:ASP.NET 页通常包含一些指令,这些指令允许用户为相应页指定页属性和配置信息(2)代码声明块:包含ASP.NET 页面的所有应用逻辑和全局变量声明、子例程和函数(3)ASP.NET控件:ASP.NET服务器控件的标记一般以前缀asp:开始,包含runat=server 属性和一个ID属性(4)代码显示块:ASP.NET可以包含2种代码显示块,内嵌代码(如)以及内嵌表达式(如)(5)服务器端注释:用于向ASP.NET页面添加注释(如)(6)服务器端包含指令:可以将一个文件包含在ASP.NET页面中(7)文本和HT

6、ML标记:页面的静态部分使用文本和一般的HTML标记来实现。Web页面处理过程 (1)当ASPX页面被客户端请求时,页面的服务器端代码被执行,执行结果被送回到浏览器端 (2)当用户对Server Control的一次操作(例如Button控件的Click事件),就可能引起页面的一次往返处理:页面被提交到服务器端,执行响应的事件处理代码,重建页面,然后返回到客户端 (3)页面处理时,依次处理各种页面事件 (4)然后,依次处理各种控件的事件,如Button控件的Click事件21.2.2 ASP.NET Web服务器控件 ASP.NET Web服务器控件是ASP.NET 网页上的可编程的服务器端对

7、象,一般用于表示页面中的用户界面元素,如文本框、按钮、图像等。服务器控件参与页的执行,并生成自己的标记呈现给客户端 每个ASP.NET服务器控件都能公开包含属性、方法和事件的对象模型 ASP.NET 服务器控件在页中是使用包含 runat=server 属性的声明性标记标识的ASP.NET提供的服务器控件标准控件:常用的控件,如文本框、按钮、标签、日历控件、列表、图像、超链接等。具体地:Label、Literal、TextBox、CheckBox、CheckBoxList 、RadioButton、RadioButtonList、DropDownList、ListBox、Button、Link

8、Button、ImageButton、Image、ImageMap、HyperLink、Panel、FileUpload、Calendar、AdRotator、BulletedList、Table、PalceHolder、View、MultiView、Wizard等数据控件:用于数据库访问以及显示和操作ASP.NET 网页上数据的控件。例如:GridView、DataList、DetailsView、FormView、ListView、Repeater、DataPager、SqlDataSource、AccessDataSource、LinqDataSource、ObjectDataSourc

9、e、XmlDataSource、SiteMapDataSource等验证控件:用于页面有效性验证的控件。例如:RequiredFieldValidator、CompareValidator、RangeValidator、RegularExpressionValidator、CustomValidator、ValidationSummary等导航控件:用于页面导航的控件。例如:SiteMapPath、Menu、TreeView等登录控件:用于自动创建登录/注册页面的控件。例如:CreateUserWizard、Login、LoginView、LoginName、LoginStatus、Chang

10、ePassword、PasswordRecovery等Web部件控件:用于创建门户网站的集成控件。例如:WebPartManager、ProxyWebPartManager、WebPartZone、CatalogZone、DeclarativeCatalogPart、PageCatalogPart、ImportCatalogPart、EditorZone、AppearanceEditorPart、BehaviorEditorPart、LayoutEditorPart、PropertyGridEditorPart、ConnectionsZone等ASP.NET网页的HTML控件:是HTML标记的

11、服务器端控件实现。例如:Div、Horizontal Rule、Image、Input、Select、Textarea等AJAX 服务器控件:AJAX 功能包括使用部分页更新来刷新页的某些部分,因此避免了整页回发。例如:ScriptManager、Timer、UpdatePanel、UpdateProgress等21.2.3 创建ASP.NET 页面 【例例21.2】创建简单的ASP.NET欢迎页面 【例例21.3】实现具有信息处理功能的ASP.NET学生注册页面 【例例21.4】使用验证控件验证用户注册信息 【例例21.5】使用GridView控件分页显示数据库表数据21.3.2 ASP.N

12、ET Web应用程序事件 (1)Application_Start (2)Application_End (3)Application_Error (4)Session_Start (5)Session_End 【例例21.6】创建ASP.NET应用程序访问计数器21.3.3 ASP.NET Web页面导航 Web页面之间的导航有多种方式:超级链接、表单、导航控件、浏览器端、服务器端等 【例例21.7】使用ASP.NET页面按钮实现页面导航21.4 ASP.NET Web应用程序的布局和导航 使用母版页实现站点的布局 使用导航控件实现导航功能 使用主题和外观控制Web页面的外观21.4.1 A

13、SP.NET Web母版页母版页定义Web页面的外观和标准行为;各内容页定义Web页面要显示的特殊内容。当用户请求内容页时,这些内容页与母版页合并一起输出母版页功能可以为站点定义公用的结构和界面元素,如页眉、页脚或导航栏。公用的结构和界面元素定义在一个称为“母版页”的公共位置,由网站中的多个页所共享母版页为具有扩展名.master的ASP.NET文件,母版页由特殊的 Master指令识别,而普通.aspx页使用Page指令母版页可以包含静态文本、HTML元素、服务器控件以及代码。另外,母版页还可以包含一种定义母版页呈现区域的控件:ContentPlaceHolder控件21.4.2 ASP.N

14、ET Web导航控件 ASP.NET站点导航将页面的链接存储在一个中央位置(站点地图),并使用特定Web服务器导航控件在每页上显示导航菜单 默认情况下,站点导航系统使用数据源控件SiteMapDataSource,默认绑定到一个包含站点层次结构的XML文件:Web.sitemap。也可以将站点导航系统配置为使用其他数据源,如数据库的表 站点地图文件Web.sitemap必须位于应用程序的根目录。Web.sitemap文件包含单个顶级元素。元素中至少嵌套一个 元素 SiteMapPath导航控件显示导航路径向用户显示当前页面的位置,并以链接的形式显示返回主页的路径 ASP.NET

15、 TreeView导航控件 ASP.NET TreeView控件用于以树状结构图形界面显示分层数据,如文件目录、站点导航地图等。通过自定义TreeView控件,允许其具有多种外观。TreeView支持回发样式的事件以及简单的超链接导航 ASP.NET Menu导航控件 ASP.NET Menu控件用于在ASP.NET网页中显示静态和动态菜单。无需编写任何代码,便可控制Menu控件的外观、方向和内容。 菜单控件由一个或多个MenuItem组成,这些MenuItem一般组织在层次结构的不同级别中。每个MenuItem包含一些属性,这些属性确定MenuItem的外观(如文本和navi

16、gateURL等) ASP.NET SiteMapPath导航控件 SiteMapPath控件用于指示当前显示的页在站点中位置的引用点。通过读取站点地图所提供的数据,显示一些链接的列表,这些链接表示用户的当前页以及返回至网站根目录的层次路径 SiteMapPath控件直接使用网站的站点地图数据 SiteMapPath显示的每个节点都是HyperLink或Literal控件,通过自定义模板或样式,可以控制其外观显示方式 【例例21.8】使用站点地图文件作为数据源实现Menu导航21.5 ASP.NET主题和外观 “主题” 提供了一种简易方式,可以独立于应用程序的页为站点中的控件和

17、页定义样式设置。即在应用程序根目录下的App_Themes文件夹中创建子文件夹,并在此子文件夹中定义控件样式,以便应用于应用程序的全部或部分页。各控件样式在主题中被指定为Skin “主题和外观”功能,可以将样式和布局信息分解为单独的文件组,统称为“主题”。然后,主题可应用于任何站点,影响站点中页和控件的外观。这样,通过更改主题即可轻松地维护对站点的样式更改,而无需对站点各页进行编辑。还可与其他开发人员共享主题21.5.2 定义主题 主题位于应用程序根目录下的App_Themes文件夹中。主题由此文件夹下的命名子目录组成,该子目录包含一个或多个具有.skin扩展名的外观文件的集合。主题还可以包含

18、一个级联样式表文件(.CSS)和/或图像等静态文件的子目录21.5.3 定义外观 一般一个外观文件对应于一个控件,常用的命名规范为“控件名.skin”(例如:Label.skin)。一个外观文件也可以包含多个控件定义。在外观文件中,定义的控件的形式和页面中定义的形式一致,但不需要指定控件的ID的属性。 在主题中定义的控件属性将自动重写使用该主题的ASP.NET目标页中同一类型的控件的本地属性值21.5.4 定义CSS样式 ASP.NET 提供了一些可在应用程序中对页和控件的外观或样式进行自定义的功能。控件支持 Style 对象模型,用于设置字体、边框、背景色和前景色、宽度、高度等样式属性。控件还完全支持可将样式设置与控件属性分离的级联样式表(CSS)。可以将样式信息定义为控件属性或 CSS,也可以在名为 Theme 的单

温馨提示

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

评论

0/150

提交评论