原贴地址:http://www.cnblogs.com/zhukezhuke/archive/2009/08/07/1541247.html
ASP.NET AJAX就5个控件,分别是ScriptManager、ScriptManagerProxy、UpdatePanel、UpdateProgress和Timer。先简单地过一下。
关键
1、ScriptManager 和ScriptManagerProxy
·一个页只能有一个ScriptManager(包含了所有脚本资源),要放到任何用到AJAX的控件的前面。
·如果把它放到母版页,而内容页需要与其不同的配置的话,则应在内容页使用ScriptManagerProxy。
·ScriptManager默认EnablePartialRendering="true"。
·ScriptManager的 AllowCustomErrorsRedirect="true"的时候,出现异常就会转到web.config里customErrors中defaultRedirect所指的地址。
2、 UpdatePanel
·UpdatePanel内放置需要被刷新的控件,如果是其内部控件事件导致其刷新,则不用另外做什么设置,因为UpdatePanel默认ChildrenAsTriggers="true"。
·如果是UpdatePanel外部控件导致其刷新的话,则应设置 Triggers。
·在Triggers内,如果AsyncPostBackTrigger未设置EventName,则为其指定控件的默认事件。
·UpdatePanel默认UpdateMode="Always",需要的话应设置UpdateMode="Conditional"。
·RenderMode="Block"对应div;RenderMode="Inline"对应span
3、UpdateProgress
·默认,任何回发,当有延迟的时候则显示UpdateProgress里的ProgressTemplate。
·要与某UpdatePanel关联则设置 AssociatedUpdatePanelID属性。
·DynamicLayout为true则用“display:none;”隐藏;DynamicLayout为false则用 “visibility:hidden;”隐藏。
·默认情况下,例如有2个异步回发,如果第1个还没有执行完毕就执行第2个的话,则会先取消第1个异步回发。
4、Timer
·Interval:间隔时间,单位(毫秒);每一个间隔时间后将触发 Tick事件。
·Timer要放在其所刷新的UpdatePanel内部;放外面的话要设置UpdatePanel的Triggers。
5、其它
·要在UpdatePanel中使用Validator的话,请参看http://blogs.msdn.com/mattgi/archive/2007/01/23/asp-net-ajax-validators.aspx
·内容页获取母版页的ScriptManager:ScriptManager.GetCurrent(Page)
·后置代码处对UpdatePanel编程,例:
ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(this.Button1);
ScriptManager.GetCurrent (this).RegisterPostBackControl(this.Button2);
this.UpdatePanel1.Update();
·Internet Explorer Developer Toolbar下载
·Fiddler下载
·Web Development Helper下载