ASP.NET MVC框架开发系列课程(8):AJAX

AJAX技术


• Asynchronous JavaScript and XML
• 在客户端发起异步请求
– 不会阻塞页面,提高用户体验
–减少数据传输尺寸,提高性能
• 几乎已经成为Web开发标准技术
– 对Web服务器来说,AJAX请求和普通请求没
有任何区别

AJAX技术的问题


• 滥用
–通信量有增无减
–增加服务器端压力
• 浏览器兼容问题  
– AJAX请求          XML request  不同的浏览器构造不一样
– DOM操作

ASP.NET MVC中的AJAX运用


• 目前ASP.NET MVC有没有自带AJAX功能?
–没有(AJAX功能已经在Roadmap中) 未来MVC框架可能自带支持AJAX
• 有没有ASP.NET MVC不支持的AJAX技术?
–没有
• AJAX是纯客户端技术  客户端和服务端是可以分离的
– 任何客户端框架可以与任何服务器技术配合
– AJAX for PHP == AJAX for ASP.NET
– AJAX for ROR == AJAX for ASP.NET

常用AJAX(客户端)框架


• Microsoft AJAX Library  框架中自带的类库 提供浏览器兼容层等
–详见《深入浅出ASP.NET AJAX》系列课程
• Prototype 
• jQuery
• Mootools
• etc.

常用传输模式:数据


• XML?很少使用XML
–客户端解析困难
– 数据冗余  需要花时间解析开节点和闭节点
• JSON!
– JavaScript Native Support
– 优点:数据相对紧凑

常用传输模式:内容


• 传输数据
–优点:传输数据尺寸小
– 缺点:作呈现时需解析DOM结构 
• 传输内容
– 优点:直接传输呈现内容,呈现逻辑统一
– 缺点:数据量相对较大

ASP.NET AJAX


• 与ASP.NET AJAX紧密结合的AJAX框架
– ASP.NET AJAX Extensions
– Microsoft AJAX Library
• 官方出品
– ASP.NET AJAX != AJAX.NET
• 提供UpdatePanel等强大服务器端控件
–透明,高效地使用AJAX功能
– 尽可能减少脚本编写

UpdatePanel的悲哀


• 在ASP.NET MVC中UpdatePanel几乎无任
何用武之地
– 没有PostBack
–理念不同

异步访问Web Services


• 异步访问Web Service的功能依旧存在
–客户端功能
– 自动生成代理脚本
• 详细讲座:
– 《深入浅出ASP.NET AJAX》系列(4) – (6)

服务器端功能真的完蛋了吗?


• 服务器端控件没有完蛋
–完蛋的只是PostBack相关功能
• 只要避开PostBack的功能依旧好用
–例如Ajax Control Toolkit

AJAX Control Toolkit


• ASP.NET AJAX的开源控件集合
• 数十种可以直接使用的控件
– 需要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值