视频:C#程序设计与宿舍管理系统实战-c#宿舍管理系统,c#学生宿舍管理系统-C#视频教程-后端开发-CSDN程序员研修院
[学习目标]
使用Asp.NetAjax核心组件实现无刷新和局部更新效果
掌握AutoComplete控件的使用,并利用其实现自动完成功能
【本章简介】
Ajax基于那些已经广泛使用的浏览器技术,包括异步JavaScript和XML。Ajax这个概念出现后不久就开始风靡起来,因为它使Web应用程序的功能和用户界面(UI)变得更加接近于桌面应用程序。
Ajax的主要思想是使Web页可以在后台(或者说是异步的)发送HTTP请求,而不需要重新读取整个页面(用Asp.Net的话来说,就是不需要往返行程或回发)。Ajax允许使用JavaScript、Dom(文档对象模型)、Css(层叠样式表)等。
1.1 Ajax概述
1.1.1 Ajax典型应用
在推进Ajax技术发展的过程中,Google公司起到了非常大的作用,它的很多网上应用都大量地采用了Ajax技术,例如:Google Suggest、Google Maps等。下面我看两个具体的例子。
1.Google Suggest(搜索建议)
有了搜索建议后,我们只需要输入关键字的前几个字或拼音,就可以把相关的热门关键字都显示出来。剩下的关键字部分就可以通过选择来完成。例如,输入“Ajax”四个字母,搜索建议会立即给出“ajax技术、ajax基础教程”等选择项。这种无刷新的方式,和我们传统的浏览、输入、提交、刷新的方式是完全不同的。
2.Google Maps(地图)
同样地,Google地图也提供了非常方便的地图缩放、拖曳等功能,如图1-2所示,它的无刷新数据更新方式大大改善了用户体验。要提醒大家注意的是,我们每次拖曳或者缩放操作带来的数据更新,都是从远程服务器上获取的。这种效果,对于传统的Web应用来说是不可思议的。
1.1.2 Ajax相关基础知识
要想通过客户端编程以创建Ajax页面,需要先了解JavaScript、Dom以及XMLHttpRequest对象(它处理那些从客户端发送到服务器的请求)的相关知识。本书使用的是Asp.Net AJAX框架,可以适当的简化在.Net环境下ajax的编程。Asp.Net AJAX的目的就是尽量避免编写冗余的的代码以及将客户端开发人员的经验与Asp.Net2.0(3.5)开发人员的经验结合起来;另外将OOP的可以提高效率的优点带到JavaScript中。
虽然Asp.NetAJAX为需要创建Ajax应用程序的客户端脚本的开发人员提供了一大堆的好处,但它却不只是编写JavaScript以对服务器端发出异步调用那么简单。由于Asp.Net AJAX是由Asp.Net开发团队创建的,因此它的突出特点就是与Asp.Net 2.0集成。
就像Asp.Net本身那样,你不需要掌握Ajax技术就可以得到一些Ajax的功能,因为设计Asp.Net Ajax就是为了帮助你完成这些工作。就像Asp.Net可以帮你管理HTTP的功能那样,Asp.Net AJAX也可以管理Ajax的功能,比如回发、状态管理以及使Asp.Net正常运转所需要的那些客户端脚本等。
1.1.3 Asp.NetAJAX 的包
Asp.Net AJAX的主页(http://ajax.asp.net)上提供了很多不同的包,它们所关注的焦点各有不同。
n Asp.Net AJAX扩展(Asp.Net AJAX Extensions)
也称为“Asp.Net AJAX Core”,这是Asp.Net AJAX的所有包中最重要的一个。它完全由微软维护,包含了Asp.Net AJAX的基础结构。
n Asp.Net AJAX控件集(Asp.Net AJAX Control Toolkit)
这个包中包含了大量的服务器组件,它们可以让你不费吹灰之力就得到令人吃惊的Ajax功能。为了保证质量,微软控制着整个项目,不过这个控件集却是开源的。
n Asp.Net AJAXFutures
在这个包中,我们可以窥视到一些可能在将会(也可能不会^.^)成为Asp.Net和Asp.NetAJAX一部分的功能。
n 微软Ajax库
这个一个纯JavaScript的库。
微软提供了Asp.Net AJAX的全部源码,可以在http://ajax.asp.net/下载。
1.2 安装Asp.Net AJAX及控件包
一.Asp.NetAJAX安装过之后会集成到IDE中,VS2008可以直接使用。在Asp.Net AJAX的主页上(http://ajax.asp.net),你可以找到Microsoft Asp.Net 2.0 AJAX Extensions1.0的安装程序,它是一个名为ASPAJAXExtSetup.msi的安装包,点击下载安装。
二.安装完毕后,Visual Studio中就会显示一个新的用于创建Asp.Net AJAX网站的选项。这是开始学习Asp.Net AJAX技术的最好途径,因为它将所有需要的文件都放到了适当的目录中了。如图1-3所示: