在之前多个项目里都使用过UpdatePanel,但还是对它一知半解,甚至有时还对Atlas有些负面情绪,哈哈……
今天终于忍不住要把它弄明白了。
UpdatePanel控件针对其上所包含的内容进行部分刷新。使用UpdatePanel控件需要注意的有以下几点。
1、要在页面上使用Asp.net Ajax,页面上是必须添加ScriptManager的;
2、把需要部分刷新的特定内容添加到特定的UpdatePanel;
3、设置UpdatePanel的相关属性:Triggers,UpdateMode,ChildrenAsTriggers
设置Triggers可以使用UpdatePanel外部的控件来使UpdatePanel的内容刷新;
ChildrenAsTriggers--true则UpdatePanel内的所有Postback控件都会刷新UpdatePanel的内容,false则不会;
UpdateMode有Always和Conditional两个值:
Always--无论是UpdatePanel内或外的控件触发PostBack,UpdatePanel的内容都会被刷新;
Conditional--只有Triggers所指定的控件或显式调用UpdatePanel的Update()方法或父UpdatePanel刷新才会使当前UpdatePanel的内容刷新。
4、UpdatePanel可以无限嵌套;
5、不可直接使用UpdatePanel的控件:TreeView、Menu、Web Parts、FileUpload等,可以参考AspNet_AJAX_Documentation的UpdatePanel Control overview.