ASP.NET AJAX简介(译)
来源:互联网 发布:压缩算法有哪些 编辑:程序博客网 时间:2024/06/04 19:57
ASP.NET 2.x
ASP.NET AJAX简介
以AJAX的客户端回调方式构建丰富的用户体验
作者: Steve C. Orr
很多有经验的开发者都认为ASP.NET 2.0的确是一个很不错的产品。它的这种以服务端为中心的方式使得开发者设计一个ASPX页面,完全可以以一种高可用的方式(编写少量代码或者完全不需要编写任何代码),就能轻易将页面、控件、数据源很好地绑定在一起。
但是很多有经验的开发者也感觉到了,ASP.NET 2.0这种以服务端为中心的方式也正是它最大的缺陷。主要原因在于,它需要频繁地刷新页面,即便是很小的一个操作。想克服这个缺陷,除非你自己编写客户端脚本代码,利用XMLHttp处理客户端的异步调用,处理跨平台的兼容性问题,以及其他需要花费您大量时间的工作。Web 2.0已经带给了我们全新的体验和感觉,而这种以服务端为中心的方式却无法体现Web 2.0的理念,所以在今天这个Web2.0的世界里它的缺陷也就表现得尤为突出了。
但是ASP.NET AJAX很好地解决了ASP.NET 2.0的这个问题。
ASP.NET的下一代开发
什么是ASP.NET
ASP.NET AJAX完全支持Internet Explorer, Firefox, 和Safari浏览器。到目前为止,ASP.NET AJAX并没有打算支持Opera,但是事实上微软的ASP.NET AJAX团队正在悄悄地进行这项工作。
如果你想马上开始你的ASP.NET AJAX的开发旅程的话,先到http://ajax.asp.net下载免费的ASP.NET AJAX 1.0。当用Visual Studio 2005构建Web Application的时候,您将会看到一个ASP.NET AJAX的web site模板。选择这个模板新建一个Web Application,ASP.NET AJAX相关的一些配置将会添加到Web Application的web.config中。如果你想在已有的Web application中添加ASP.NET AJAX的功能,那你就需要手动修改web.config文件。
ASP.NET AJAX中新增加的服务端控件
ASP.NET AJAX增加了几个新的控件(参考 图 1) 。其中最重要的控件是ScriptManager,它管理着ASPX页面中的所有ASP.NET AJAX脚本。任何一个使用ASP.NET AJAX的页面都需要加入这个不可见控件,但每个页面中有仅只能存在一个ScriptManager实例。当然你也会碰到存在使用两个ScriptManager的情况(如在主页和ASP.NET Content页中都存在一个ScriptManager实例)。这时,你可以在其中的某个页面中使用ScriptManagerProxy,它可以替代了ScriptManager。ScriptManagerProxy和ScriptManager的功能很相似。但ScriptManagerProxy只是试图充当代理去调用ScriptManager的功能,从而保证了同一个页面实际上只存在一个ScriptManager。
控件名称
功能描述
ScriptManager
任何一个使用ASP.NET AJAX的页面都需要加入这个不可见控件,但每个页面中有仅只能存在一个ScriptManager实例。它实现了实现AJAX功能需要的基本的脚本。
ScriptManagerProxy
如果主也中已经声明了一个ScriptManager,它在相应的内容页中充当一个虚拟的ScriptManager
UpdatePanel
包含在UpdatePanel 中的任何控件都以AJAX的方式实现对服务端的请求
UpdateProgress
为长时间的AJAX调用给用户提供反馈
Timer
允许网页内容可以被周期性地更新
图 1.这些ASP.NET AJAX服务端控件为web开发者提供了很好的强有力的帮助
在设计阶段,UpdatePanel控件很像标准的ASP.NET Panel控件,它可以被自由地脱放和布局。UpdatePanel在运行的时候才表现出它真正的功能。默认情况下,包含在UpdatePanel 中的任何控件都会以AJAX的方式发起对服务端的请求。例如,你把一个标准的ASP.NET 2.0的GridView控件拖到UpdatePanel中,则GridView的分页、排序操作都会通过AJAX请求实现更新,而不需要每个操作都更新整个页面。这会让用户体验更流畅。不过要主要的是,对于每个AJAX请求,ASP.NET AJAX还是会更新页面的ViewState,因此正常的Postbacks都可以无错地进行。
在理想的情况下,AJAX可以很好地工作。但是如果服务器响应速度慢、网络速度不理想、复杂的数据库请求,AJAX则会让用户觉得没有任何的反馈。然而UpdateProgress控件提供了这样的功能,它可以给用户提供反馈,告知用户操作正在进行,用户也就不必为此而感到无可是从了。把UpdateProgress控件放到一个form中,它就能显示AJAX的请求正在进行中。你可以让UpdateProgress控件显示一个有意义的消息,或者一个取消按钮使用户可以取消操作。UpdateProgress控件运行时的表现形式完全可以通过ASP.NET的模板进行自定义,所以可以添加任何你感觉很酷的效果。
Timer也是一个很有用的ASP.NET AJAX服务端控件。Timer控件可以在一个规定的时间间隔内引发时钟事件,这很像Windows Forms的Timer控件。Timer控件的时间间隔单位是毫秒,把时间间隔设置为60,000,就可以每隔1s地引发服务端的时钟事件从而发起AJAX调用。间隔性的引发AJAX请求来更新UpdatePanel是一种非常美妙的方式。
太多内容 ...
一篇文章是很难把ASP.NET AJAX完全讲述清楚的。如果你想获取更多的关于新的AJAX服务端控件的相关介绍,以后还会有更多的关于ASP.NET AJAX的文章。例如,如果觉得这些都无法满足你的需要,你可以使用AJAX工具箱来自定义ASP.NET AJAX控件。这个AJAX工具箱也包含了许多很不错的ASP.NET AJAX控件,很值得期待。
如果想要学习更多的ASP.NET AJAX的相关知识,我推荐你阅读我和我的合伙人最近写的一本书:
Beginning ASP.NET 2.0 AJAX
当然,除了ASP.NET AJAX,你也可以通过其他的方式来实现AJAX功能。这里就包括了一些很不错的第三方控件。尽管如此,下个版本的ASP.NET将会把ASP.NET AJAX也集成进去。所以你现在学习或者打算以后学习都可以。但如果你是一个ASP.NET的开发者,现在学习ASP.NET AJAX,将会让你捷足先登,收获颇多。
- ASP.NET AJAX简介(译)
- Asp.net Ajax简介
- 第一章 ASP.NET Ajax简介
- ASP.Net 学习点滴---AJAX(SCRIPTMANAGER简介)
- ASP.NET 2.0程序开发详解 -----------15.1 AJAX简介
- ASP.NET 2.0程序开发详解 -------15.3 ASP.NET AJAX Extension简介
- Ajax.net Professional简介
- Ajax.net Professional简介
- ASP.NET Spiced: AJAX
- asp.net ajax
- ASP.NET 调味品:AJAX
- ASP.NET 调味品:AJAX
- ASP.NET 调味品:AJAX
- ASP.NET 调味品:AJAX
- ASP.NET 调味品:AJAX
- ASP.NET 调味品:AJAX
- ASP.NET 调味品:AJAX
- ASP.NET 调味品:AJAX
- c++存储分配
- Visual Studio速成版Orcas CTP提供下载
- try catch
- Jsp开发环境配置全过程
- 妈妈,我爱您!
- ASP.NET AJAX简介(译)
- Linux 入门常用命令 — 文件的复制、删除和移动
- .net精简框架集下的ini文件读取(C#)
- java乱码问题及解决方法的相关链接!
- 实现带有用户身份验证的Web Service
- windows XP home版安装IIS
- mssql server 2000 触发器研究
- ASP、JSP、PHP三种技术比较
- 简单的验证码程序