1、1,第15章 Web编程,现在,人们已经逐渐认识到Web程序设计已经从早期的设计为主而转移到了编程为主的时代,一个Web程序员也不用再觉得弱于Windows应用程序的开发者了,因为现在可以在Internet上建立与Windows应用程序功能同样强大,或者超越它的Web应用程序。面向对象的目的在于强调软件的复用性,而.NET能非常好的执行这种特性。ASP.NET Web应用程序显著地简化了构建强大的基于表单的web页面的过程。当构建这些页面时,可以使用ASP.NET服务器控件在浏览器上以HTML表单显示用户界面。然后通过编写服务器端代码访问表单,并实现应用程序逻辑。本章在使用ASP.NET建立W
2、eb应用程序时,将使用C#来开发,因为C#是为ASP.NET量身打造的语言开发工具。,2,本章学习要点,使用ASP.NET开发Web页面 使用ASP.NET创建Web查询应用程序 了解Web用户控件 数据绑定 Web服务,3,15.1 创建Web应用程序,ASP.NET Web页面是一个扩展名为.aspx的文件,当第一次请求ASP.NET页面时,该页面被编译成为.NET类。然后Web服务器使用该结果类处理引入的请求。在以后请求相同的ASP.NET页面时,将执行相应的类文件来处理该请求。使用微软推行的.NET技术和C#语言可快速建立Web应用程序,其安全性和可升级性都大大超过了普通的ASP应用程
3、序。与ASP相比,ASP.NET中增加了一些新的特征,如拖放开发、代码分离和验证控件等。另外ASP.NET使用的是面向对象的编程语言而不是脚本语言,因此它就具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等。这样就使代码逻辑更清晰,易于管理,并且应用到ASP.NET上就可以使业务逻辑和HTML页面分离。,15.1.2 创建Web应用程序,如果要创建第一个ASP.NET Web应用程序,就要从创建虚拟目录开始,在本地磁盘中新建一个名为WebApplication1的文件夹,并为该文件夹创建虚拟目录,然后打开Visual Studio.NET创建ASP.NET Web应用程序。1创建A
4、SP.NET Web应用程序2添加控件及查看HTML,4,15.2 开发Web窗体,服务器控件在ASP.NET中可以分为四种:HTML服务器控件、Web服务器控件、验证控件和用户控件。HTML控件只是简单地将HTML标记封装起来,以便于控制HTML标记的输出。它是以HTML标记为基础衍生出来的空间元件,此类控件一般只能提供属性以供读取,不具有方法和事件。ASP.NET中引入HTML服务器控件是ASP.NET对ASP的一次大的改进,对页面设计的方法和数据提交方式都产生了根本性的改变。HTML服务器控件的主要功能是利用其属性来实现页面逻辑和业务逻辑的分离。Web控件和可视化程序设计工具中的控件极为
5、相似。这些控件比HTML服务器控件具有更多内置功能。Web服务器控件不只包含窗体类型的控件,例如按钮和文本框;而且还包括特殊用途的控件,例如日历。Web服务器控件与HTML服务器控件相比更为抽象,因为其对象模型不一定反映HTML语法。本节主要介绍HTML服务器控件、Web服务器控件和验证控件,对于用户控件,我们将会再下面的小节中详细介绍。,5,15.2.1 HTML服务器控件,HTML服务器控件属于System.Web.UI.HtmlControls命名空间的ASP.NET服务器控件。它直接映射到HTML元素,并在ASP.NET页中声明为一个由runat=“server“属性标记的HTML元素
6、,例如。与Web服务器控件相比,HTML服务器控件没有asp标记前缀。HTML服务器控件直接对应各种HTML标签。它们提供以下功能: 在服务器上使用熟悉的面向对象技术对其进行编程的对象模型。 提供一组事件,可以编写事件处理程序,方法与在基于客户端的窗体中大致相同,所不同的是事件处理是在服务器代码中完成的。 与验证控件进行交互,便于验证用户是否在控件中输入了适当的信息。 自动维护控件状态。,6,15.2.2 Web服务器控件,当创建一个带有ASP.NET控件的ASP.NET页面时,既可以使用HTML服务器控件,还可以使用Web服务器控件。实际上可以将HTML服务器控件和Web服务器控件混合在We
7、b表单中使用。对于最为通用的HTML标记来说,ASP.NET提供了其对应的HTML服务器控件和Web服务器控件。把HTML服务器控件设计为标准HTML标记的服务器端副本以便可以简单地将现有的HTML页面转换为ASP.NET页面。不过,Web服务器控件不需要响应HTML元素,并有可能代表更复杂的元素。在“网上书店”的添加图书页面中,拖放了6个TextBox控件、两个按钮控件、两个DropDownList控件。其他都为HTML控件。可以按图15-7进行添加。下面我们对这几个控件做简要的介绍。 1TextBox控件 2按钮控件 3DropDownList控件和ListBox控件,7,15.3 查询应
8、用程序,在前面我们已经对ASP.NET有了一定的了解,也知道了如何创建Web窗体,接下来就可以创建由窗体组成的查询应用程序。查询应用程序也就是使用HTML服务器控件和Web服务器控件建立与数据库的连接。在ASP.NET应用程序中,经常需要在网页上显示和操作来自数据库的数据。下面我们就应用前面创建的Web窗体来建立查询应用程序。,8,15.4 Web用户控件,前面我们在学习Web服务器控件时我们讲了有四种服务器控件,这节主要是介绍服务器控件最后一个控件Web用户控件。在ASP编程中,一种很流行的方法是使用IIS(Server Side Include,服务器端包含文件)来简化编程。而在ASP.N
9、ET中,用户控件的方法完全代替了SSI,而且编写比SSI更加简便。用户控件使用户能够根据应用程序的需要,方便地定义控件,用户所使用的编程技术将与编写Web窗体页的技术相同。用户甚至只需要稍做修改,即可将Web窗体页转换为Web用户控件。为了确保用户控件不能作为独立Web窗体页来运行,用户控件一律使用文件扩展名.ascx来进行标识。,9,15.5 数据绑定,大多数动态Web站点,以及几乎所有基于Web的应用程序,都需要在某时访问数据源,以不同方式操作、格式化和显示数据。数据绑定技术提供了将控件属性和后台数据源连接的一种方法。例如,可以将一个文本框的Text属性与数据表绑定。这样,文本框的值将是该
10、列当前行的值。将控件绑定到后台数据节省了代码,因为当数据改变时不必重新生成控件这些都被自动完成。后台数据源通常来自数据表,但也可以是数组列表的任意集合。,10,15.6 Web服务,Web服务是一个应用逻辑单元,它通过标准的XML数据格式和通用的Web协议(如HTTP,SOAP,WSDL,UDDI等)为其他应用程序提供信息。具体来说,Web服务利用网络进行通信,它提供了一些操作集合的接口,以实现特点的任务,其他应用程序通过调用这些接口实现信息的交换。Web服务的目的是实现应用程序之间的交互,而不是应用程序与用户之间的交互。Web服务具有以下特性: 增强了系统的可操作性。 实现了与其他应用程序之间的松散耦合。 具有平台无关性和语言无关性。 具有描述性。 具有可发现性。,11,15.6.5 自定义的Web服务,前面我们讲了Web服务的操作过程,现在我们将讨论ASP.NET应用程序如何访问该Web服务。应用程序访问Web服务包括以下步骤: 从服务注册中心查找到该Web服务 创建Web服务的代理类 在应用程序中调用Web服务方法,12,