[ASP.NET]91之ASP.NET由淺入深 不負責講座 Day25 - AJAX.NET(1)
	前言
	前面一系列文章,介紹完設計web site常用的UserControl, MasterPage以及預先設計的BasePage。
	接著就是要增加user experience的設計了。
	
	今天我們要介紹的是AJAX.NET (這應該是最新的名字) controls的部分,也就是包含了ScriptManager, UpdatePanel以及Timer的簡介。
	
	請注意,UpdatePanel != AJAX,這一點一定要知道。
	
	我們會在下兩篇文章,來介紹Why UpdatePanel跟想像中的AJAX不一樣。
	
	Issues
- 
		ScriptManager
		
- 
				兼具Server Control與Client Script framework的角色
 - 也可以使用在AjaxControlToolkit裡面的ToolkitScriptManager,可以參考: http://www.dotblogs.com.tw/hatelove/archive/2009/02/17/7211.aspx
 - 
				只能有一個,而且要最早引用(要在使用任何ScriptManager提供的方法之前引用)
 
 - 
				兼具Server Control與Client Script framework的角色
 - 
		UpdatePanel
		
- 
				企圖達到AJAX功能的Server control
 - 
				Namespace: System.Web.Extension
 - 
				UpdateMode
				
- UpdateMode="Conditional“
 - 
						UpdateMode=“Always“,Default value
 
 - 
				驅動方式
				
- Trigger
 - 
						UpdatePanelID.Update()
 
 - 
				可以為巢狀UpdatePanel
 - 
				要注意避免使用,完全包覆網頁的UpdatePanel (performance只有下降)
 
 - 
				企圖達到AJAX功能的Server control
 - 
		Timer
		
- 
				功能:定時postback,觸發事件委派方法
 - 可透過UpdatePanel來達到非同步的效果,但仍是全頁submit
 
 - 
				功能:定時postback,觸發事件委派方法
 
	
	結論
	AJAX.NET裡面,最重要,也是一定要知道的一點,UpdatePanel != AJAX,UpdatePanel只能稱的上"Partial Render",部分呈現,所以UpdatePanel並不會為performance帶來戲劇化的改善,包括user experience也是。
	
	簡單的說,UpdatePanel的行為,仍是全頁(form)submit,但最後的Render透過轉發為Ajax的方式,僅修改欲影響的範圍內的原始碼。
	
	詳細的原理,我會在下一篇文章進行說明,敬請期待。
blog 與課程更新內容,請前往新站位置:http://tdd.best/
