菜头粿

查看: 268|回复: 0
打印 上一主题 下一主题

老酒新装---初试AJAX!(原创)

[复制链接]
1#
跳转到指定楼层
发表于 2009-8-29 12:16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



  

老酒新装---初试AJAX!(原创)  
最近编程在流行一股风,说真的,这在很多年以前就有的技术,没想到在今天即换上新的衣服大行其道,接下来,让我们来看一下这种装上新衣服的技术,到底有什么神秘之处? 自从开始 Web 编程以来,在 Web 应用程序和桌面应用程序之间一直存在着许多取舍。例如,人们通常认为 Web 应用程序提供的用户界面类型没有桌面应用程序提供的用户界面类型那样丰富。另一方面,Web 应用程序是独立的平台,其开发机制比较简单。提供响应更及时的应用程序看似是一项简单的任务,但对于 Web 开发人员来说却是一直以来需要攻克的领域。 传统意义上,只能通过向 Web 服务器提交新的请求来检索对用户输入所做的响应。在某些情况下,开发人员可以使用 JavaScript 在客户端上加载所有响应,从而提供更好的用户体验。此技术的常见示例就是二级联动下拉菜单(例如有两个下拉表单,一个是让你选择省份,一个让你选择城市,假设,当你在第一表单选择下“广东省”时,第二表单里就会罗列出位于广东省的所有城市名称,如“潮州市”、“汕头市”、“揭阳市”等等)。遗憾的是,在很多情况下,不将所有响应都返回或加载到 JavaScript 要更好。返回操作会使过多的界面断开连接(这个时候,我们称之为“白屏”),或在客户端上需要过量的数据,这经常导致生成不易读的 JavaScript。AJAX 提供了一种新的中间选择,能够在维持及时响应和灵活性的同时利用基于服务器的应用程序。 什么是 AJAX?AJAX 是 Asynchronous JavaScript And XML(异步 JavaScript 和 XML)的缩写,它不是一项技术,而是很多技术的集合。AJAX 使用通信技术(通常为 SOAP 和 XML)发送和接收对服务器的异步请求/响应,然后利用显示技术(JavaScript、DOM、HTML 和 CSS)处理响应。如今,使用 AJAX 的应用程序是合法的,因为多数浏览器都支持这项必需的技术。 用于 ASP.NET 的 AJAX 很多因素促使 AJAX 应运而生。您可能不想花费几个小时或几天来了解 AJAX 的内部原理,而是更希望现在就开始创建启用了 AJAX 的应用程序,来满足现有需求。开发人员可以用来快速入门的工具有很多。不过我们将特别关注由 Michael Schwarz 编写的源代码开放的免费 Ajax.NET。Ajax.NET 考虑到所有的实现细节是基于 .NET 的,并且能够被扩展。Microsoft ASP.NET 2.0 通过客户端回调功能(英文)引入了独具特色的异步回调,并且最近宣布(英文)代号为“Atlas”的 AJAX 正在实现中。 Ajax.NET AJAX.NET 文档(英文)http://ajax.schwarz-interactive.de/csharpsample/default.aspx和网站(英文)http://www.schwarz-interactive.de/对开发人员快速入门非常有用。在介绍使用此技术的一些具体示例之前,我们将简要回顾您所需要知道的核心步骤。 首先从 AJAX.NET 项目网站(英文)http://www.schwarz-interactive.de/上下载并解压缩 AJAX 文件,然后按照您的喜好在 Visual Basic .NET 或 C# 中创建新的 ASP.NET 项目,再向 AjaxPro.dll 文件添加引用(英文)。

唯一的额外配置步骤是在 元素中(位于 web.config 文件中)添加以下代码

接下来,我们在项目中新建一个类名称就叫做“Hello_52100_BBS”,并写下以下的代码:

在这里,在这个类中,只有一个公有的方法GetBBSName,这个方法返回一个字符串“你好凤城社区”。由于我们要在网页中异步调用这个方法,所以,我们必须在方法前面加上声明这个可以通过异步调用的。 接下来,我们新建一张aspx网页来开始我的AJAX,嘻!! 我在这里建立了一张叫做“sample.aspx”的网页,在网页中加入一个普通的HTML按钮控件,注意,是HTML按钮控件,不是Web服务器按钮控件。

在这张网页的后台代码(CodeBehind)中的Page_Load方法中,写下如下的代码:

这里的 AjaxPro.Utility.RegisterTypeForAjax(GetType(Hello_52100_BBS)) 代码,是要让来注册包含这些函数的类,也就是说,这个时候,.NET会去寻找Hello_52100_BBS类中可以进行异步调用的方法(就是我们上面已经声明的的GetBBSName方法),并把对它进行调用JavaScript注册到客户端中。 完成后,剩下唯一要做的就是在 JavaScript 中使用它,如何调用呢? 在sample.aspx的HTMl代码页中,写下如下代码:

在此,我们看到 AJAX 在工作时的异步特性,因为对 GetBBSName的调用不阻碍执行其他 JavaScript 代码,也不阻碍用户继续在页上进行操作。完成服务器端处理时,Ajax.NET 调用指定的回调函数 doTest1_callback,并向其传递由服务器端返回值组成的响应。 最后,在浏览器中的执行效果,就是按下按钮时,出现对话框“你好凤城社区”

.........打完收功!!!


高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|Archiver| 菜头粿 声明:本站所发贴子内容仅代表网友观点,不代表本站立场,严禁一切与国家法律相抵触的内容。感谢关注!
粤icp备19073828

GMT+8, 2026-7-26 12:13 , Processed in 0.104069 second(s), 15 queries .

粤东.中国

© 2007-2026 czczcz.com

快速回复 返回顶部 返回列表