首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

微软公司的ASP.NET AJAX框架是迄今为止对Ajax技术最完备且功能最强大的封装。它包括完善的对客户端面向对象编程的支持、丰富的客户端/服务器端组件、客户端/服务器端类型的自动转换、自动将服务器端页面方法或Web Service方法暴露给客户端、为远程Web Service提供本地客户端代理等非常强大的功能。而且,ASP.NET AJAX并不仅仅是一个封装了Ajax操作的框架,它还对JavaScript进行了非常精巧的面向对象方面的扩展,为我们提供了坚实的面向对象开发基础,将客户端开发提升到了前所未有的高度。

在从开发代号“Atlas”正式得名之后,ASP.NET AJAX现在已经拆分成了3个部分,每一部分也都有了相应的名字,其中,原Atlas客户端部分叫做Microsoft AJAX Library,原Atlas服务器端部分叫做ASP.NET 2.0 AJAX Extensions,而原Atlas Control Toolkit则叫做ASP.NET AJAX Control Toolkit。这样繁复的命名不但难以记忆,且远没有“Atlas”这个词那么富有“诗情画意”。相比之下,同样是微软公司的产品,“Longhorn”就被命名为更加琅琅上口的“Vista”,比Atlas的3个名字响亮得多。但为了跟上技术发展的脚步,本书将使用其最新的正式名称。

ASP.NET AJAX框架的客户端部分,即Microsoft AJAX Library,是一个跨浏览器、跨平台的Ajax客户端解决方案。它包括类似ASP.NET服务器端控件一样良好封装的、可以运行于各种主流浏览器之上的各种客户端组件,例如表示简单界面元素的TextBox、表示复杂绑定列表的ListView、验证用户输入的Validator、为HTML元素提供某些附加行为的Behavior、位于客户端的离线数据源DataSource、响应用户操作的Action、实现动画效果的Animation、提供鼠标拖放支持的DragDropList,以及更加强大的用户身份认证、用户个性化组件等。这几乎可以看作是将ASP.NET服务器端控件完全又在客户端实现了一遍!开发者还可以以一种完全面向对象的方式轻松地用JavaScript编写自定义的组件,然后使用JavaScript以编程方式或一种ASP.NET AJAX特定的、基于XML的声明式脚本语言,借助于ASP.NET AJAX客户端框架中的绑定概念将这些组件方便而又高效地连接起来,以构成功能强大的、纯粹的客户端Ajax应用程序。

ASP.NET 2.0 AJAX Extensions,即ASP.NET AJAX的服务器端控件,包括与开发者社区共同创建的ASP.NET AJAX Control Toolkit,则是上述ASP.NET AJAX框架的客户端部分JavaScript组件在服务器端的封装。这些服务器端组件为基于ASP.NET的应用程序提供了另一种Ajax的实现方式——采用一种和ASP.NET完全一样的服务器端控件开发模型。作为对现有ASP.NET服务器端组件的扩展,ASP.NET 2.0 AJAX Extensions提供的服务器端组件可以让开发者充分使用他们现有的ASP.NET开发知识,无需书写一行JavaScript代码,甚至不用了解Ajax的任何实现原理,只通过在Visual Studio中拖拖放放即可开发出带有强大Ajax功能以及丰富用户体验的富客户端应用程序。这个特性也非常适合为现有的ASP.NET程序添加少量的Ajax功能。

当然,ASP.NET AJAX现在还仅仅处于1.0版本阶段,仍有着非常大的改进和提高空间。相信随下一代ASP.NET和Visual Studio一同发布的后续版本中,它所带来的强大功能以及与Visual Studio的完美结合,定会让Ajax开发变得无比简单。

2.1 ASP.NET AJAX的特性

ASP.NET AJAX主要的设计目标有两点:第一,对现有的ASP.NET服务器端模型进行扩展,让其可以生成实现富客户端的JavaScript代码;第二,为ASP.NET增加客户端编程模型,让纯粹的客户端编程变得更加简单。

这样,ASP.NET AJAX的特性就可以相应地分为服务器端和客户端两个部分,前者包含ASP.NET 2.0 AJAX Extensions以及ASP.NET AJAX Control Toolkit,后者包含Microsoft AJAX Library。

2.1.1 服务器端特性

(1) 开发者无需了解JavaScript,只需使用熟悉的类似ASP.NET开发的方式声明服务器端控件,之后Ajax所需的客户端脚本将自动发送至浏览器并执行。

(2) 对客户端异步调用服务器端方法,ASP.NET AJAX提供服务器端/客户端数据类型的自动转换、自动将服务器端页面方法或Web Service方法暴露给客户端、为远程Web Service生成本地客户端代理等功能。

(3) 将ASP.NET内建的许多高级功能,(例如身份认证、用户个性化服务、本地化(全球化)支持等)暴露给客户端。

(4) 和Visual Studio开发环境无缝集成,提供完善的自动完成、编译期检查以及调试等功能。

2.1.2 客户端特性

(1) 对JavaScript进行扩展,使其支持完全面向对象方式编程,让开发者感觉到如同使用熟悉的Java或C#语言进行编程一样。

(2) 提供跨浏览器的兼容性支持。开发者无需考虑不同浏览器之间的JavaScript或DOM的差异,只需要同一份代码即可在各种主流的浏览器中良好运行。

(3) 大量的内建客户端组件,让开发者不必对所有需求都从头做起,一遍又一遍地“重复发明轮子”。

(4) 借助于强大的绑定功能,ASP.NET AJAX提供了一种新的、基于XML的声明型编程语言,叫做ASP.NET AJAX XML脚本(ASP.NET AJAX XML Script)。它类似但又远强于ASP.NET服务器端控件在页面中的声明方式,特别适合在面向组件编程中使用。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论