文章教程

10.1ASP.NETAJAX基础

8/31/2020 9:37:14 PM 人评论 次浏览

10.1 ASP.NET AJAX基础

AJAX是Asynchronous JavaScript And XML(异步JavaScript和XML)的缩写,它是多种技术的集合。AJAX使用SOAP和XML发送和接收对服务器的异步请求/响应,然后利用JavaScript、DOM、HTML和CSS等技术来处理响应。

10.1.1 AJAX技术简介

AJAX技术的最佳之处在于,通过JavaScript调用执行服务器端方法,而不需要刷新浏览器,从而实现局部刷新。

AJAX技术由下列组合而成。

(1)CSS和XHTML:主要用来表示文件样式。

CSS是Cascading Style Sheets(层叠样式表单)的缩写,通过以.css为扩展名的纯文本文件。用来表现HTML或XML等文件样式。它提供了从内容及样式和设计分离的机制,用结构定义和表现处理分开的模型降低了DOM对象的复杂性,更方便开发者使用JavaScript对其进行维护。

XHTML是The Extensible HyperText Markup Language(可扩展超文本标识语言)的缩写,是基于XML的标记语言。XHTML和CSS结合,可以实现样式跟内容分离的同时,又能有机地组合网页代码。

(2)DOM:使用DOM模型来交互和动态显示。

DOM是Document Object Model(文件对象模型)的简称,是W3C组织推荐的处理可扩展置标语言的标准编程接口。利用DOM可以以编程方式读取、处理和修改XML文档,因为DOM可被JavaScript用来读取、改变HTML、XHTML以及XML文档。

(3)XMLHttpRequest:使用XMLHttpRequest和服务器实现异步通信。

XMLHttpRequest对象是AJAX的核心力量,可以无须加载整个页面,即可更新网页内容。XMLHttpRequest可以同步或异步返回Web服务器的响应,并且能以文本或DOM文档形式返回,也可在页面已加载后从服务器请求数据或在页面已加载后从服务器接收数据,还可在后台向服务器发送数据。目前,XMLHttpRequest得到了大部分浏览器支持。XMLHttpRequest对象还没有标准化,但是W3C已经开始了标准化的工作。

(4)Javascript:利用Javascript来绑定和调用。

JavaScript,一种直译式脚本语言,在AJAX技术中,JavaScript主要使AJAX应用的各部分集成在一起,并用来传递用户界面上的数据到服务端并返回结果。

10.1.2 ASP.NET中的AJAX结构

在了解ASP.NET AJAX结构之前,先熟悉一下AJAX的运行机制。AJAX的运行机制主要由三部分组成:创建XMLHttpRequest对象;向服务器发送请求;服务器响应。而ASP.NET中的AJAX功能,同样也基于此机制,但ASP.NET中的AJAX功能有其特殊之处,它基于ASP.NET服务器的开发平台,并且与ASP.NET结合紧密,使用ASP.NET中的AJAX功能,可以生成丰富的Web应用程序。与完全基于服务器的Web应用程序相比,支持AJAX的应用程序有以下优点。

(1)熟悉的UI元素,如进度指示器、工具提示和弹出窗口。

(2)部分页更新,只刷新已发生更改的网页部分。

(3)增强的效率,因为网页的大部分处理工作是在浏览器中执行的。

(4)客户端与用于Forms身份验证的ASP.NET应用程序服务、角色和用户配置文件的集成。

(5)支持绝大多数主流浏览器,如IE、Mozilla Firefox和Apple Safari等。

ASP.NET中的AJAX功能结构由两部分组成:客户端脚本库和服务器组件,如图10-1所示。

alt

图10-1 ASP.NET AJAX客户端和服务器结构

1.AJAX客户端结构

AJAX客户端结构包括用于组件支持、浏览器兼容性、网络和核心服务的库。

组件主要有以下三个类别。

(1)封装代码的非可视对象。

(2)可扩展现有DOM元素的基本行为。

(3)表示具有自定义行为的新的DOM元素。

浏览器兼容性层为最常用的浏览器,如为Microsoft Internet Explorer、Mozilla Firefox和Apple Safari等提供AJAX脚本兼容性。

网络层将处理浏览器中的脚本与基于Web服务和应用程序之间的通信,还将管理异步远程方法调用。网络层还提供对在客户端脚本中访问基于服务器的Forms身份验证、角色信息和配置文件信息的支持。

ASP.NET中的AJAX客户端脚本库由JavaScript(.js)文件组成,这些文件提供用于面向对象开发的功能。

调试和错误处理的核心服务包括Sys.Debug类,此类提供用于在网页的末尾以可读形式显示对象的方法。

2.AJAX服务器结构

AJAX服务器结构由管理应用程序的UI、流的ASP.NET Web服务器控件和组件组成,这些服务器模块还管理序列化、验证、控件扩展性等。

脚本支持:通过使用从服务器发送到客户端的支持脚本,可实现ASP.NET中的AJAX功能。根据启用的AJAX功能,会将不同的脚本发送到浏览器。

Web服务:利用ASP.NET网页中的AJAX功能,可以使用客户端脚本来调用ASP.NET Web服务(.asmx)和Windows Communication Foundation(WCF)服务(.svc),并且请求的脚本引用将自动添加到页,随后自动生成Web服务代理类。

应用程序服务:ASP.NET中的应用程序服务是基于ASP.NET Forms身份验证、角色和用户配置文件的内置Web服务,这些服务可由支持AJAX网页中的客户端脚本、Windows客户端应用程序或WCF兼容的客户端调用。

服务器控件:ASP.NET AJAX服务器控件由服务器和客户端代码组成,这些代码集成在一起可生成丰富的客户端行为,如ScriptManager控件、UpdatePanel控件、UpdateProgress控件等。

教程类别