1.在頁面上放置一個UpdatePanel之後,該UpdatePanel當中所有的控件,都可以觸發該UpdatePanel的異步Postback功能。
2.異步Postback處罰時,該UpdatePanel範圍中的內容會自動刷新,後端的事件過程碼也會被執行到,但頁面不會觸發傳統的Postback(達成AJAX效果)。
3.當頁面上放置有多個UpdatePanel控件時,UpdatePanel設置爲Always的UpdatePanel,會被任何的異步Postback動作所刷新(不管該異步Postback動作是不是由該UpdatePanel自己內部的控件所觸發的)。若UpdateMode設爲Conditional,則只會被位於該UpdatePanel自己內部的控件觸發異步刷新。
4.若要將UpdatePanel外部的控件(以Button爲例)設置爲可觸發該UpdatePanel的異步刷新,可通過該UpdatePanel的Triggers屬性將Button註冊成AsyncPostBackTrigger。
5.若要將UpdatePanel內部的控件(以Button爲例)設置爲不可觸發該UpdatePanel的異步刷新(也就是取消UpdatePanel當中某個控件觸發異步Postback的能力),可通過該UpdatePanel的Triggers屬性將Button註冊成PostBackTrigger。
6.若要通過代碼將某個位於UpdatePanel外的控件設爲可觸發異步Postback,請用ScriptManger的RegisterAsyncPostBackControl()方法。
7.若要通過代碼將某個位於UpdatePanel內的控件改爲觸發同步Postback(也就是取消其觸發異步Postback的能力),請用ScriptManger的RegisterPostBackControl()方法。
確保性能的的使用策略
8.只有一定需要被異步刷新的內容,才放到UpdatePanel當中。
9.沒有一頂需要異步刷新的內容,可以放置到UpdatePanel外面。
10.如果可以,儘可能吧UpdatePanel的UpdateMode設爲Conditional。這樣也可以達到減少刷新範圍面積的效果。
//來源 ASP.NET AJAX應用剖析立即上手 董大偉著 電子工業出版社
例子,關於UpdatePanel 控件--RegisterAsyncPostBackControl方法:
Button1爲UpataePlanel之外的控件!
在Page_Load 里加入以下代碼:
然後給Button1添加“點擊”等事件,然後運行就可以了!RegisterPostBackControl類似,但是控件之間的包含關係與觸發方式不同而已!
{
ScriptManager1.RegisterAsyncPostBackControl(Button1);
}