使用ASP.NET Futures开发以客户端为中心的Ajax应用
http://tech.ddvip.com 2007年09月01日 社区交流
内容摘要:我们都知道Ajax无非就是使用XMLHttpRequest对象发送请求给服务器,然后使用返回的数据更新页面上的内容。在这里,我们所能够发送和接收的数据其实都是纯文本的,因此我们能够做出的选择就是以什么样的格式去发送与接收数据。
在已有的服务器端逻辑基础上,如何尽量少作出改动就能实现Ajax?可能很多人都能想到同样的结果,就是将原本整页输出的HTML改为仅仅输出内容更新过的一个局部,使用XHR获取这个局部HTML然后更新到页面上。这正是ASP.NET AJAX中的UpdatePanel控件所做的事情。因此XHR接收的是即将现实的HTML内容,因此被称之为以内容为中心的Ajax。
以脚本为中心
如果你觉得发送HTML到客户端,然后还要使用JavaScript才能更新到页面上,这还是麻烦,干脆把更新用的JavaScript也嵌入在发送的内容中就好了,也就是所谓的以脚本为中心的Ajax。脚本被XHR接收至客户端后,直接使用eval()执行,无需任何复杂的客户端逻辑。这种实现方式在ASP.NET AJAX/Futures中暂时没有直接的支持,因此也较少人使用。
以数据为中心
与以脚本为中心相反的做法就是,服务器端连HTML也不生成了,直接将数据发送至客户端,让客户端承担数据处理并生成对应HTML的工作。由于传输的是纯粹的数据,因此这被称之为以数据为中心的Ajax。
说到传输数据,我们面临的选择是数据格式,例如XML与JSON。XML固然好,因为.NET内置了众多的XML支持,并且.NET Web Service本身也就是使用XML的。然而客户端解释XML是一件很麻烦的事情,浏览器的DOM API提供的操作都非常有限,开发复杂应用时客户端解释XML所需的代码将变得非常繁多。
对于客户端来说,JSON则要有好得多,只需要放进eval()函数里,出来的便是解释好的JavaScript对象。同时,ASP.NET AJAX已经为.NET Web Service引入了JSON支持,因此在.NET作为服务器端框架的前提下JSON比XML更具优势。
2 使用ASP.NET Futures开发以客户端为中心的Ajax应用
在使用ASP.NET Futures开发之前,我们首先要知道它是怎么工作的,以及它为我们提供了哪些基础部件以便于我们的开发。
来源:IT168 作者:陈广琛 责编:豆豆技术应用
- asp.net 视频教程
- asp.net 数据库编程
- asp.net 入门教程
- ado.net 教程
- asp.net 基础讲座
- asp.net ajax 教程
- asp.net ajax 入门系列
- asp.net 控件开发基础
- asp.net 2.0 服务器控件
- asp.net 2.0 教程
- asp.net 控件开发
- asp.net 类
- asp.net 分页
- asp.net 页面缓存
- asp.net 常见问题解决
- asp.net 2.0 母版页
- asp.net SQL Server
- asp.net 错误
- asp.net 事件
- asp.net 组件
- asp.net 性能
- asp.net 文件上传
- 更多asp.net专题……