




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章 Web应用程序开发,主编:夏敏捷,教学目标,了解ASP.NET工作原理 掌握ASP.NET常用控件 初步学会使用ASP.NET访问数据库。,目录,8.1 什么是ASP.NET 8.1.1 ASP.NET页面的结构 8.1.2 ASP.NET网页代码模型 8.1.3 编译和部署 8.1.4 ASP.NET常用内置对象 8.2 ASP.NET控件 8.3 数据库操作 8.3.1 基于数据源的数据绑定 8.3.2 数据源组件 8.3.3 GridView控件 8.3.4 实例开发,8.1 什么是ASP.NET,8.1.1 ASP.NET页面的结构 ASP.NET页面是一个用.aspx 扩展名来保存的。页面的内部结构是非常模块化的,包括三个独立的部分:页面指令、代码和页面布局。 页面指令 页面指令建立该页面的运行环境,规定HTTP运行库如何处理该页面,并确定对该页面可以安全做出的假设。常用Page指令或其他指令。 代码部分 代码部分包含页面和控件事件的处理程序。与该页面有关的任何源代码可以按内联方式插入该页面中,或者通过一个独立的文件附加到该页面。任何页面代码总是先编译后执行。在ASP.NET中,它还可以进行预编译,并以二进制程序集的形式进行部署。 页面布局 页面布局表示页面的框架包括服务器控件、文本和HTML标签。服务器控件的用户界可以用声明的属性和控件属性进行填充。,8.1.2 ASP.NET网页代码模型,单文件页模型和代码隐藏页模型功能相同。在运行时,这两个模型以相同的方式执行,而且它们之间没有性能差异。因此,页模型的选择取决于其他因素,例如,要在应用程序中组织代码的方式、将页面设计与代码编写分开是否重要等等。,8.1.3 编译和部署,8.1.3 编译和部署 单文件页和代码隐藏页的编译和部署非常相似。最简单的方法是将页复制到目标服务器的根目录下(根目录通常是c:inetpubwwwroot)。根据需要,也可以创建一个临时的虚拟目录。如果使用代码隐藏页,则要复制.aspx页和代码文件。首次请求该页时,ASP.NET会对其进行编译然后运行。 也可以预编译网站。在这种情况下,ASP.NET将为页生成目标代码,可以将其复制到目标服务器中。预编译对单文件模型和代码隐藏模型都有效,这两种模型的输出相同。,8.1.4 ASP.NET常用内置对象,在ASP.NET中,有5个常用内置对象,它们是Request对象、Response对象、Server对象、Application对象和Session对象。这些对象用来维护有关当前应用程序、每个用户会话、当前 HTTP 请求、请求的 Web 窗体页等信息,主要用于与用户的交互。因此,它们在ASP.NET应用程序扮演非常重要的角色。 1Response对象 Response对象用于向客户端发送信息,该对象提供了很多有用的属性和方法。 (1)利用Response对象发送信息 Response对象最常用的功能就是向浏览器发送信息,而实现这一功能最常用的是它的Write方法,其使用形式为: Response.Write(value) value代表发送的信息,可以是任何类型的变量或者表达式。,8.1.4 ASP.NET常用内置对象,(2)利用Response对象重定向浏览器 重新定向浏览器就是让浏览器重新访问一个新地址(URL)。可以使用Response对象的Redirect方法强制用户进入某个必须先访问的网页,该方法的使用语法如下: Response.Redirect(newUrl) 参数newUrl表示重定向后的目标地址。在每个功能页的开始部分增加一个Response.Redirect语句,就可以强制用户首先访问指定的页面。 例如:Response.Redirect(“test.aspx“) (3)将指定的文件写入HTTP 输出内容流 可以使用Response对象的Response.WriteFile()方法。 例如: Response.WriteFile(“test.txt“),8.1.4 ASP.NET常用内置对象,2Request对象 (1)用Request对象获取URL传递变量 (2)用Request对象获取表单传递值 (3)用Request对象获取服务器变量值 3Server对象 HttpServerUtility类提供了用于处理Web请求的方法,HttpServerUtility类的方法和属性通过ASP.NET提供的内部Server对象公开,HttpServerUtility类的常用方法如下: (1)Server.HtmlEncode方法 (2)Server.UrlEncode方法 (3)Server.MapPath方法 4Application对象 5. Session对象,8.2 ASP.NET控件,8.2.1 ASP.NET控件概述 ASP.NET控件基本上有两个系列,分别是HTML服务器控件和Web(标准)服务器控件(如图8-1所示)。System.Web.UI.HtmlControls是HTML服务器控件的命名空间,System.Web.UI.WebControls是Web服务器控件的命名空间。,8.2 ASP.NET控件,8.2.1 ASP.NET控件概述 ASP.NET控件基本上有两个系列,分别是HTML服务器控件和Web(标准)服务器控件(如图8-1所示)。System.Web.UI.HtmlControls是HTML服务器控件的命名空间,System.Web.UI.WebControls是Web服务器控件的命名空间。,8.2.2 HTML服务器控件,HTML服务器控件看上去像HTML标签,只不过它还有runat=server属性。虽然它们看上去确实相同,但是runat属性使两者具有很大的差异。在ASP.NET中,只要添加runat属性,就能够以面向对象的方法以编程的方式配置原始标签。 【例8-1】使用HTML服务器控件实现文件上传功能。 Input(File)控件是把文件从一个浏览器上传到Web服务器的HTML工具。图8-2是运行时效果。,8.2.3 Web服务器控件,Web(标准)控件在System.Web.UI.WebControls命名空间中定义。与HTML控件一样,Web控件也是由于ruant=“server“属性而充满生机的服务器端组件。与HTML控件不同的是,Web控件提供了一个重构的HTML属性和事件集的编程接口。因而,Web控件在API设计方面似乎更一致、更抽象,并且功能更丰富,但是它们仍然产生合法的标记。大量的Web控件和HTML控件功能相同,并且生成几乎相同的标记,但是它们通过不同的编程接口来实现。例如,Web控件命名空间定义TextBox控件,并通过使用;类似地,HTML控件命名空间提供了HtmlInputText控件,并用标签声明它。具体采用哪一种方法主要是一个个人爱好问题,功能上的差别是很少见的。 Web控件可以根据其功能分成不同的范畴:输入和按钮控件、数据绑定的控件、安全相关的控件、网格和视图控件,以及几个提供特别功能的杂项控件(Miscellaneous controls)和Web上常用的难以归类的控件(例如,日历控件、广告旋转器等)。,8.2.4 Button、ImageButton和LinkButton控件,这三个控件使用户可以指示已完成表单或要执行特定的命令,功能类似,但在网页上显示的方式都不同。 【例8-2】使用Button控件触发客户端事件。,8.2.5 Image控件和ImageMap控件,Image控件在Web页上显示一幅图像,该图像的路径通过ImageUrl属性设置。图像URL既可以是相对的,也可以是绝对的,并且大多数程序员明显喜欢相对URL,因为它们使一个Web站点更容易迁移。由于某种原因不能找到图像或者浏览器不能生成图像时,还可以指定要显示的替代文本。这种情况下使用的属性是AlternateText。在页上该图像与其他元素的对齐方式使用ImageAlign属性设置。,8.2.6 文本输入控件,TextBox服务器控件是使用户可以输入文本的输入控件,该控件可以用于单行文本输入、多行文本输入和密码文本输入。设置TextMode属性的不同取值可以实现上述三种类型的输入: SingleLine用户只能在一行中键入信息。您还可以选择限制控件接受的字符数。 Password与单行TextBox控件类似,但用户键入的字符将以星号(*)屏蔽,以隐藏这些信息。 Multiline用户在显示多行并允许文本换行的框中键入信息。,8.2.7 复选框和单选钮,复选框控件有两个:CheckBox控件和CheckBoxList控件。两种控件都为用户提供了一种输入布尔型数据(真或假、是或否)的方法。用户可以向页面添加单个CheckBox控件,并单独使用这些控件。作为另外一种Web服务器控件类型,CheckBoxList控件则是单个控件,可作为复选框列表项集合的父控件。使用CheckBoxList控件的许多过程与使用其他列表Web服务器控件的过程相同。,8.2.8 AdRotator控件,从理论上讲,AdRotator控件显示一个自动调整大小的图像按钮,并且每次页面刷新时同时更新图像和URL。控件所要显示的图像和其他信息从一个根据特定模式编写的XML文件中读取。更具体地讲,我们使用AdRotator控件创建Web窗体页上的广告标语。该控件实际上在页面中插入一幅图像和一个超链接,并使其指向所选的广告页面。该图像被浏览器调整到适合AdRotator控件的尺寸,而不管它的实际大小如何。,8.2.9 Calendar控件,Calendar控件显示一个月历,它允许我们选择日期以及通过月份前后导航。,8.2.10 PlaceHolder控件,PlaceHolder控件只用作页中其他控件的容器。PlaceHolder控件本身不会产生可视输出,并且只能包含通过Controls集合动态增加的子控件。如下代码说明了如何在一个Web页中嵌入PlaceHolder控件: 有了一个占位符以后,就可以向它添加控件。占位符不会增加额外的功能,但是它提供了分组,使我们能够容易而直接地识别一组相关的控件。如下代码说明了如何创建一个新按钮并把它添加到一个已有的占位符: Dim btn As Button=new Button() btn.Text=“ Click me“ theToolbar.Controls.Add(btn) PlaceHolder控件在控件树上保留了一个位置,并且在识别页面的特定区域以便于定制和扩展(通过以编程方式来添加控件这一方式)时尤其有用。,8.2.11 视图控件,ASP.NET 2.0引入了两个新的相关控件,用以创建一组可互换的子控件面板。MultiView控件定义一组视图,每个视图用View类的一个实例表示。每次只有一个视图是活动的,并且呈现给客户端。View控件不能作为独立组件使用,并且只能放在一个MultiView控件里。下面用一个例子加以说明: 当用户单击当前视图中嵌入的按钮或链接时,我们通过回发事件改变活动视图。为了表示新视图,既可以设置ActiveViewIndex属性,也可以把视图对象传递给SetActiveView方法。例如: Tables.ActiveViewIndex=Views.SelectedIndex,8.3 数据库操作,8.3.1 基于数据源的数据绑定 多数Web应用程序仅仅是数据驱动的应用程序。因此,能够把HTML元素(诸如下拉列表或者表)绑定到结构化数据,是很多开发平台的一个关键特征。数据绑定是从一个固定的数据源检索数据并将它们与服务器控件上的属性动态关联的过程。有效的目标控件是为了支持数据绑定而专门设计的控件即数据绑定控件。数据绑定控件并不是另一个系列的控件;它们只是具备若干公认数据相关属性并且用一组公认集合对象加以填充的服务器控件。,8.3 数据库操作,8.3.2 数据源组件 数据源组件是一个为了与数据绑定控件交互而设计的服务器控件,它隐藏了人工数据绑定范式的复杂性。数据源组件不仅为控件提供数据,而且还支持数据绑定控件执行其他常见操作,诸如插入、删除、排序和更新。每个数据源组件封装一个特定的数据提供程序关系数据库、XML文档或者定制类。对定制类的支持,意味着我们现在可以直接把控件绑定到已有的类例如,业务层或数据访问层的类。 。,8.3 数据库操作,8.3.3 GridView控件 GridView是DataGrid控件的后继者。它提供了相同的基本功能集,同时增加了大量扩展和改进。DataGrid是一个功能非常强大的通用控件。然而,它有一个重大缺陷:它要求我们编写大量定制代码,甚至处理比较简单而常见的操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第10课《阿长与山海经》教学设计 2024-2025学年统编版语文七年级下册标签标题
- 2025年智能投顾项目建议书
- 《复活(节选)》教学设计 2024-2025学年统编版高中语文选择性必修上册
- 第一章第二节人口教学设计2023-2024学年人教版地理八年级上册
- 第二单元第五课《计算机的资源管理》教学设计-2023-2024学年粤教版(2019)初中信息技术七年级上册
- 第四章第二节《工业》第1课时教学设计-2024-2025学年八年级地理上册粤人版
- 2024国家能源集团海南电力有限公司第二批集团系统内招聘15人笔试参考题库附带答案详解
- 2024天津轨道交通集团有限公司开展竞争性选聘轨道服务公司副总经理岗位1人笔试参考题库附带答案详解
- 电工高级工试题库+答案
- 第二章 电磁感应 概述 教学设计-2023-2024学年高二下学期物理人教版(2019)选择性必修第二册
- 城市绿化与生态环境改善
- 监理人员安全培训考试试卷(答案)
- 2024-2025学年中小学校第二学期师德师风工作计划:必看!新学期师德师风建设秘籍大公开(附2月-7月工作安排表)
- xxx项目财务评价报告
- 《急性心力衰竭的急救处理》课件
- 万兆小区方案及实施路径
- 2025年高压电工作业考试国家总局题库及答案(共280题)
- 初中图书室阅览室建设实施方案范文(2篇)
- 高教版2023年中职教科书《语文》(基础模块)下册教案全册
- 川教版四年级《生命.生态.安全》下册全册 课件
- JJG 693-2011可燃气体检测报警器
评论
0/150
提交评论