分享

Atlas AJAX ScriptManager UpdatePanel TimerContrl 各参数详解

 昵称3651193 2010-09-30
Atlas AJAX ScriptManager UpdatePanel TimerContrl 各参数详解
 

ScriptManager:
EnablePartialRendring:
   true为局部更新;

UpdatePanel:
Mode:
   Always每次PostBack后,UpdatePanel都会连带更新,Conditional只针对特定情况下才会更新;
RendrMode:
   Block是以<div>来显示UpdatePanel;Inline是以<span>标签来显示
Triggres:
   Triggers共有两种类型:当控件属性改变时;当控件属性引发事件时


TimerContrl:
Intervar:
   设置间隔时间。单位是毫秒(1000毫秒 = 1秒)
Tick事件:
   直接在Timer控件上点两下,可添加Tick事件程序


1.   ScriptManager 控制項
ScriptManager 控制項是負責管理 Page 頁面中的 ASP.NET AJAX 元件、Partial-Page Rendering、客戶端的 Request、及伺服端的Response。由此可見 ScriptManager 是 ASP.NET AJAX 的心要,有了它才能夠使得 Partial-Page Rendering(Page 局部更新)作用,一切運作所需的 JavaScript 也會自動管理,因此在開發純伺服端的ASP.NET AJAX 應用程式,每個頁面必須加入 ScriptManager 以為管理,感覺蠻像 WebPart 在每個頁面之中也要加入 WebPartManager 的道理是一樣的。


2.   UpdatePanel 控制項
什麼是 UpdatePanel?其實它就是一個 AJAX Panel,早期 ASP.NET AJAX beta 版的思維是做出一大堆 AJAX 伺服端控制項,如 AJAX 版的TextBox、Button 等等…,最後發現不但需要實作過多的 AJAX 版本控制項,且隨著新世代 .NET 還會有更多新的控制項,那如果要一一實作會非常耗費功夫,且不切實際,可謂典型的事倍功半,微軟及程式設計師兩邊都吃力不討好,最後微軟選擇了一個聰明的方式,製造出一個像魔鏡般的AJAX Panel,只要對著它喊:「Panel呀Panel,請給我AJAX!」即刻之間所有控制項皆是 AJAX 控制項,怎麼說呢?只要在 WebForm放入一個 UpdatePanel 控制項,隨後任憑拖曳傳統的 ASP.NET 伺服器控制項到此UpdatePanel中,原本不具備AJAX能力的TextBox、Button等等控制項,彷彿皆具有 AJAX 非同步的魔力,又可用傳統.NET CodeBehind 方式撰寫程式,可謂以簡御繁、萬法歸一,同時整合了AJAX 與 ASP.NET 兩種能力,有了 UpdatePanel 一切就搞定了。

3.   Partial-Page Rendering 屬性
傳統的 Postback 是整個頁面更新,缺點是伴隨著大量資料與慢應,而 AJAX 目的除了非同步的能力外,有個很重要的訴求是〝快〞,要達成快的要訣別無他法,只有客戶端傳送的資料要少,客戶端接收伺服端回傳資料也要少,如此便能達到快的目的,而 Partial-Page Rendering(局部更新)正是如此運作,回應時它只針對 UpdatePanel區域來做更新而非整個 Page 頁面,因此只要做少量 UpdatePanel 區域做更新及行為的調整,所以在速度上便加快了许多,行事简洁毫不托泥帶水。 而前面說過 Partial-Page Rendering 是受 ScriptManager 控制項來管理,且只有 UpdatePanel 及其中包含的子控制項才能享有 Partial-Page Rendering 的好處,而 Partial-Page Rendering 的啟用與關閉是透過ScriptManager 控制項的 EnablePartialRendering 屬性來設定,預設值為 True。


4.   UpdatePanel 的 Trigger 事件
雖說 UpdatePanel 是一個 AJAX Panel 魔鏡,感覺上十分神奇,但千里馬也須有人駕 Trigger 正是觸發 UpdatePanel 動作的機制,如 Trigger 會監控 Timer 計時器時間變化、使用者按下特定按鈕或某個控制項的值被改變了,進而通知 UpdatePanel 進行頁面的Postback 動作,所以 Trigger 所扮演的角色是 UpdatePanel 專屬探子,負責偵察 UpdatePanel 所指派的任務,一旦有符合條件的任何風吹草動,UpdatePanel 便執行 PostBack 動作,並以 Partial-Page Rendering處理更新。

5.   Timer 控制項
Timer 計時器用 JavaScript 建構是很容易,但用 ASP.NET 來客製化Timer 控制項不但困難,且運作起來十分笨重而費力,實用價值略低,但 ASP.NET AJAX 滿足了眾多程式設計師的心願,直接內建一個 AJAX Timer 計時器控制項,讓各位可以設定時間間隔而觸發特定事件動作,而這正是重複使用(reuse)的最佳體現,免除了程式設計師老在重複寫一堆 Timer 的程式。

 


ScriptManager 控制項屬性
屬性       說明

AllowCustomErrorsRedirect   在非同步 Postback 情況下,若有錯誤發生時,指示系統是否引發自訂錯誤的網頁導向。

AsyncPostBackErrorMessage 當伺服器有例外錯誤發生,此錯誤訊息會被傳送到 Client 端。

AsyncPostBackTimeout    非同步 Postback 的 Timeout 逾時的時間長度 (秒),預設是 90 秒,若設定值為 0,則表示沒有 Timeout 的限制。

AuthenticationService    取得目前 ScriptManager instance 的AuthenticationServiceManager 物件。

EnablePageMethods    設定 ASP.NET 的靜態方法是否能夠被 Client 端Script 呼叫。

EnablePartialRendering    是否啟用局部更新。

EnableScriptGlobalization    是否啟用全球化 Script 設定。

EnableScriptLocalization    是否啟用區域化 Script 設定。

LoadScriptsBeforeUI    設定 Script 參照是否在 UI 控制項之前載入到Browser 瀏覽器之中。

ProfileService     取得 ScriptManager instance 的ProfileServiceManager 物件。

ScriptMode    決定在生成 client script 時,要產生 debug 或release 版本的 client script libraries。

ScriptPath      指定客製化 Script 的所在路徑。

Scripts     指定 ScriptManager 要註冊的 Script 參照集合。

Services      指定ScriptManager要註冊的Service參照集合。


UpdatePanel 控制項屬性
屬性       說明

ChildrenAsTriggers   若 Postbacks 來自 UpdatePanel 的子控制項時,UpdatePanel 本身是否要進行 refresh 更新。

RenderMode     若 RenderMode 為 Block 則是 <DIV> 標籤來 Render 區段,若以 Inline 則以 <Span> 標籤來 Render。

Triggers      Triggers 是設定 UpdatePanel 的觸發事件。

UpdateMode      UpdateMode 共有兩種模式: Always 與 Conditional,Always 是每次 Postback 後,UpdatePanel 會連帶被更新,相反的 Conditional 只針對特定情況才會被更新。  

屬性說明  
UpdateMode 模式通常是一個 Page 頁面同時包含多個UpdatePanel,這時若大家都設定為 Always 模式,則即便只有其中一個 UpdatePanel 做非同步更新,但其他 UpdatePanel 也會連帶受到更新影響,故這時就有必要將 UpdateMode 設定為Conditional,以避免連帶受到其他 UpdatePanel 影響。   一個 UpdatePanel 可以同時設定許多 Triggers,來進行多個情況觸發。

 

Timer 屬性與事件
屬性/事件    說明

Interval 屬性    設定 Timer 時間控制項的 Tick 間隔時間,單位為毫秒(1000毫秒=1 秒)。

Tick 事件     直接在 Timer 控制項上連續點兩下,可加入 Tick 事件程式。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多