ASP.NET AJAX 组成部分
1.核心AJAX类型系统
2.网络协议层(networking stack)
3.组建模型
4.扩展基类(extender)
5.Asp.net 集成的服务端功能(ScriptManager,UpdatePanel,Time 控件)
—.对基本服务端功能控件的使用
ScriptManager:
作用:处理页面上所有组建以及页面局部更新,生成相关的客户端代理脚本以便能够在Javascript 中访问WebServices
所有需要支持ASP.NET AJAX 的 ASP.NET 页面有且只能有一个 ScriptManager控件。在ScriptManager 控件中可以指定需要的脚本库,或者指定通过JS 来调用WebServices,以及调用 AuthenticationService 和 ProfileService,还有页面错误处理等。
ScriptManagerProxy:
由于一个aspx 页面上只能有一个ScriptManager,所以在有母版页的情况下,如果需要在Mster-Page和Content-Page中需要引用不同的脚本时,这需要在Content-Page中适用ScriptManagerProxy,而不是ScriptManager。ScripyManager和ScripyManagerProxy是两个非常相似的控件。
注意:错误:1.The control with ID 'ScriptManagerProxy1' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.
解决办法: 将母版页中的ScriptManager 放在Content 上面
2.<asp:ScriptManagerProxy 元素不是已知元素。但仍然可以继续运行。
3.The Server Method ‘Add’failed with the following error;System.Exception -- 不是INt32 的有效值
解决办法,母版页与子页中控件的名字,事件的名字最好不要一样。
UpdatePanel:
创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions 中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,
只要在一个页面上添加一个UpdatePanel控件和一个ScripyManager控件就可以实现局部更新。
ChildrenAsTriggers --当UpdateMode属性为Conditional时,UpdatePanel中的子控件的异步回送是否会引发UpdatePanle的更新
UpdateMode---表示UpdatePanel的更新模式,有两个选项:Always和Conditional。
UpdateProgress:
★注意:Sys 未定义,解决办法,将 var par=Sys.WebForms.PageRequestManager.getInstance();放在 函数里面
关于 某些情况下 UpdateProgress控件将不会自动显示,在正式版中已经解决了 。