1.ASP.NET AJAX
用来创建更丰富, 交互性更好,更人性化以及更好的用户体验.
高效的生产力
----- 更清晰的概念, 更少的代码行
更易于设计, 调试
----- 跟设计器和开发工具都有很好的集成
无缝的集成于应用程序模型
----- 可以协同ASP.NET 页面和服务器端控件
应用范围广泛
----- 跨浏览器, standards based
2.AJAX的开发场景
Server-centric Ajax Web Development
----- 增强的方法可以创建更丰富的UI(服务器的AJAX控件使用)
----- 不需要编写很多的JavaScript
----- 主要的逻辑都存放在服务器端(VB/C#)
Client-centric Ajax Web Development
----- 尽可能的降低script/DHTML的使用复杂度
----- 提供更丰富的用户交互体验(如用户提交表单的验证等操作)
----- 创建小巧,实用和完美的用户体验
3.部分刷新
<asp:UpdatePanel> 控件//需要一个Script Manager
-----方便的定义页面中“updatable” 的区域(定义局部更新的区域)
-----Server roundtrips become asynchronous
-----ASP.NET AJAX 提供所有操作的基础类库
-----支持触发器并且可以用其它控件得到返回值
<asp:UpdatePanel id=“updatepanel1” runat=“server”>
<ContentTemplate>
<!-- This content will be dynamically updated! -->
<asp:Calendar id=“calndr1” runat=“server”/>
<ContentTemplate>
</asp:UpdatePanel>
4.提高已存在控件的功能
Control Extenders
-----利用ASP.NET AJAX 客户特性扩展ASP.NET 控件
-----扩展服务器端和客户端的功能
-----使用熟悉的编程模型去处理ASP.NET 服务器端控件
<asp:TextBox runat="server" ID="TextBox1" />
<asp:AutoCompleteExtender runat="server" ID="AC1”
TargetControlID="TextBox1"
ServicePath="AutoComplete.asmx“
ServiceMethod="GetWords” />
AJAX提供的控件(AJAX ToolKit):
-----下载后,有一个Ajax toolkit的文件夹,里面就包含30多种控件
常用控件说明:
…………cadscadingDropDown:级联的下拉框
…………AutoComplete:在文本框中通过输入字母就可以选取可以选择的
数据
…………PassWordStrength:密码复杂度
--------把Ajax tookit编译后的程序集引入到项目中。
选择一个普通控件之后,就可以在控件上选择添加扩展程序,然后再添加
扩展程序(这些程序可以是本地方法,也可以是web service)。
5.进度条展示
UpdateProgress control 提供局部刷新的进
度提示功能
<asp:UpdateProgress ID="UpdateProgress1“ runat="server">
<ProgressTemplate>
Please Wait ...
</ProgressTemplate>
</asp:UpdateProgress>
6.Micorsoft AJAX类库
ASP.NET AJAX script 核心– 针对JavaScript的所有系统类型
--------类, 接口, 继承
--------枚举
--------类似于.NET的事件处理句柄
Base class library
--------StringBuilder, extensions to existing types
--------序列化
--------调试和跟踪类库
--------网络服务
7.结合Web Service使用
ScriptManager 处理web service 访问
<asp:ScriptManager runat="server" ID="scriptManager">
<Services>
<asp:ServiceReference
path="~/WebServices/SimpleWebService.asmx" />
</Services>
</asp:ScriptManager>
服务器端的ASMX 访问
--------引用Microsoft.Web.Script.Services
--------[ScriptService] Attribute on Class
在线的ASPX 方法就可以称为Web Services
--------把[WebMethod] 属性添加到方法中