1 / 47

ASP.NET AJAX 1.0 開發與實作秘訣

ASP.NET AJAX 1.0 開發與實作秘訣. 主講人:章立民. 章立民研究室 繁體部落格 - http://blog.xuite.net/alwaysfuturevision/liminzhang. 主講人 章立民簡介. 章立民研究室技術總監。 臺灣微軟公司資深顧問講師。從 1992 年開始。 資深電腦圖書作家。擁有 60 本以上的著作。 經濟部資訊專業人員鑑定計畫命(審)題委員。 電腦技能基金會資料庫應用類命題委員。 職訓局 Visual Basic 能力本位教材編撰委員。 … 等等. 議程.

remedy
Download Presentation

ASP.NET AJAX 1.0 開發與實作秘訣

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP.NET AJAX 1.0開發與實作秘訣 主講人:章立民 章立民研究室繁體部落格- http://blog.xuite.net/alwaysfuturevision/liminzhang

  2. 主講人 章立民簡介 • 章立民研究室技術總監。 • 臺灣微軟公司資深顧問講師。從 1992 年開始。 • 資深電腦圖書作家。擁有 60 本以上的著作。 • 經濟部資訊專業人員鑑定計畫命(審)題委員。 • 電腦技能基金會資料庫應用類命題委員。 • 職訓局 Visual Basic 能力本位教材編撰委員。 • …等等

  3. 議程 • 快速晉升非同步之鑰-ScriptManager • 局部更新、盡其在我-UpdatePanel • 悠游於非同步之間-PageRequestManager • 別讓使用者乾著急-UpdateProgress • 定時作業的最佳利器-Timer • 外部資源的非同步整合-用戶端呼叫 Web 服務實作 • JavaScript換新裝,注入 OOP新靈魂 • 縫製新裝為自己、量身打造才有趣-Extender與 Behavior

  4. UpdatePanel 控制項 • 指定非同步局部更新的範圍 多少個? 多少個?

  5. UpdatePanel 控制項 1、AsyncPostBackTrigger觸發器 2、ScriptManager1.RegisterAsyncPostBackControl(control) 至於位於 UpdatePanel 控制項外部的回傳按鈕呢? GridView 控制項自動成為一個非同步回傳控制項

  6. UpdatePanel 控制項

  7. UpdatePanel 控制項使用秘訣一 固定更新(UpdateMode = Always) vs 條件式更新(UpdateMode = Conditional)

  8. UpdatePanel 控制項使用秘訣一

  9. UpdatePanel 控制項使用秘訣一

  10. UpdatePanel 控制項使用秘訣二 • 基於效能考量,只讓外觀或資料內容確實有所改變的控制項才擺放在 UpdatePanel 控制項中。 • 外觀沒有改變的非同步回傳控制項也不應擺在 UpdatePanel控制項中。

  11. UpdatePanel 控制項使用秘訣二

  12. UpdatePanel 控制項使用秘訣二

  13. UpdatePanel 控制項使用秘訣三 • 基於效能考量,請適時將 ChildrenAsTriggers 屬性設定成 False。

  14. UpdatePanel 控制項使用秘訣三

  15. UpdatePanel 控制項使用秘訣四 • 有效自訂觸發器,局部更新時機由你訂

  16. UpdatePanel 控制項使用秘訣四

  17. UpdatePanel 控制項使用秘訣五 • 善用 Update方法彌補觸發器不足之處…

  18. UpdatePanel 控制項使用秘訣五

  19. UpdatePanel 控制項使用秘訣六 • 善用巢狀化,效能更進化…

  20. UpdatePanel 控制項使用秘訣六

  21. UpdatePanel 控制項使用秘訣七 • 並非所有的 ASP.NET 2.0 控制項都相容於 UpdatePanel 控制項。 • 何謂相容? • 可以在 UpdatePanel 控制項中使用 FileUpLoad 控制項嗎? • FileUpLoad 控制項不相容於局部更新機制。 • 使用觸發器類型 PostBackTrigger。

  22. UpdatePanel 控制項使用秘訣七

  23. Timer 控制項 • 伺服器控制項 • 定時引發全網頁回傳或非同步回傳

  24. Timer 控制項 • 使用模式: • 單一個 Timer 控制項搭配一或多個 UpdatePanel控制項。 • 多個 Timer 控制項搭配多個 UpdatePanel控制項。 • Timer控制項的擺放位置與其影響。 • 請在確實需要的時候,才使用 Timer 控制項來定時更新網頁上的內容。

  25. Timer 控制項

  26. UpdateProgress 控制項 • 顯示提示資訊來告知使用者作業還在進行中。

  27. UpdateProgress 控制項

  28. 使用 JavaScript 程式碼來顯示與隱藏 UpdateProgress 控制項

  29. 使用 JavaScript 程式碼來顯示與隱藏 UpdateProgress 控制項

  30. PageRequestManager 類別 • 管理網頁上一或多個 UpdatePanel控制項的非同步局部更新作業。 • 透過 JavaScript來完成下列自訂作業: • 於網頁上顯示訊息來告知使用者目前正在進行非同步局部更新。 • 取消某一項非同步回傳作業。 • 讓某一項非同步回傳作業擁有較高的優先權。 • 自訂局部更新的錯誤處理。

  31. PageRequestManager 類別 • 藉由替 PageRequestManager 的各個事件撰寫事件處理常式,您可以充分自訂網頁的非同步局部更新作業。

  32. PageRequestManager 類別

  33. JavaScript 換新裝,注入 OOP 新靈魂 • 類別(Classes) • 命名空間(Namespaces) • 繼承(Inheritance) • 介面(Interfaces) • 列舉(Enumerations) • 反映(Reflection)

  34. JavaScript 換新裝,注入 OOP 新靈魂

  35. 具體擴充 JavaScript 基底型別 • Array 型別擴充 • Boolean 型別擴充 • Date 型別擴充 • Error 型別擴充 • Number 型別擴充 • Object 型別擴充 • String 型別擴充

  36. Array 型別擴充

  37. 提供豐富的類別與基底類別

  38. 提供常用 API 的快捷寫法

  39. ASP.NET AJAX 外部資源的非同步整合-用戶端 JavaScript 呼叫 Web 服務實作 • 內建的非同步機制,不需要自行實作 XMLHTTP 物件。 • 使用 JSON(JavaScript Object Notation )作為用戶端與伺服器端的資料交換格式: • 提供完整的序列化與還原序列化機制 • [ScriptMethod(ResponseFormat.Xml)] • 允許傳遞與接收複雜型別(類別物件)。 • 允許傳遞 DataSet、DataTable 與 DataRow 物件。 • 允許直接呼叫靜態網頁方法(Page Method)。 • 清晰、明確且簡易的開發邏輯。

  40. JavaScript 非同步呼叫 Web 服務三步驟 將 Web 服務公開給 JavaScript

  41. JavaScript 非同步呼叫 Web 服務三步驟 於網頁中註冊 JavaScript 所要呼叫的 Web 服務 產生 JavaScript Proxy 類別

  42. JavaScript 非同步呼叫 Web 服務三步驟 撰寫 JavaScript 呼叫遠端 Web 服務

  43. JavaScript 非同步呼叫 Web 服務

  44. JavaScript 如何取得並剖析 Web 服務所傳回的 DataSet、DatTable與 DataRow 資料物件 • 務必於 Web.config 中啟用相關的 Converter 設定 :

  45. JavaScript 如何取得並剖析 Web 服務所傳回的 DataSet、DatTable與 DataRow 資料物件

  46. 縫製新裝為自己、量身打造才有趣 • Behavior • Client Control • Extender • [Projectname]Behavior.js • [Projectname]Designer.vb(或 .cs) • [Projectname]Extender.vb(或 .cs)

  47. 再會 • 參考資料 • ASP.NET AJAX 1.0 非同步網頁開發秘訣 – 範例大全集(即將出版) • ASP.NET AJAX Document • 範例製作 • 章立民研究室

More Related