낣ꑆ asp.net ajax ꅝꗽꭥꪺꕎ뢹결...

8
1 除了 ASP.NET AJAX(先前的代號為 Atlas),您不會在這本書中看到任何其他 由第三方協力廠商或是技術社群基於 ASP.NET 平台所發展的 AJAX 技術支援框 架,甚至 ASP.NET 2.0 所導入的 CallBack 機制,如果您想要了解這些技術內容, 很抱歉,這裏沒有您要的資訊,您可以放下這本書然後轉身走人。 那,我們要談什麼 ?? 如果您選擇了繼續往下看,那我們先告訴您,這本您正在翻閱、甚至可能將其 買下,或者已經帶回家,此刻正在閱讀的、是一本完整剖析 ASP.NET AJAX 技術框 架的 ASP.NET 技術書籍。 為什麼只談 ASP.NET AJAX,這門技術除了可以達到所有您想利用其他技術所 作到的 Ajax 功能之外,最重要的,它是 Microsoft 官方發表用來填補 ASP.NET Ajax 技術缺口,由於是官方的「正規」技術,它可以被完美無縫的整合進 Visual Studio 開發工具,延伸現有的 ASP.NET 功能,開發人員不需要修改現有的程式碼,就可 以將 Ajax 的非同步溝通機制導入目前已經或是正在發展的網站系統當中。 ASP.NET AJAX 早期版本的名稱為 Atlas ,從 Microsoft 發表 Beta 版本之後,才 正式命名為 ASP.NET AJAX,它是一套完整的技術框架,更精確的說,它是一種延 伸機制,為傳統的 ASP.NET 擴充出以 Ajax 為基礎的網頁應用程式介面設計功能。 如果您正在使用其他的 Ajax 技術,甚至懷疑學習這個新的延伸套件所作的投 資是否符合成本,那我們還是會建議儘管轉到這個新的框架,除了這是官方發表的 套件之外,在下一個版本的 ASP.NET ,它將被直接內建於其中,換句話說,你現在 所要接觸的最新技術,在下一個版本的 ASP.NET 出來之後,將會成為核心的入門 技術,而且它的功能強大,容易使用,ASP.NET 開發人員為了擁有這門技術所付出 的成本將會非常值得。

Upload: others

Post on 19-Aug-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 낣ꑆ ASP.NET AJAX ꅝꗽꭥꪺꕎ뢹결 Atlasꅞꅁ녺꒣라Ꙣ덯ꖻ껑꒤곝꣬download.microsoft.com/.../ASP.NET_AJAX_introduction.pdf · 2018. 10. 16. · 1 낣ꑆASP.NET AJAX

1

除了 ASP.NET AJAX(先前的代號為 Atlas),您不會在這本書中看到任何其他

由第三方協力廠商或是技術社群基於 ASP.NET 平台所發展的 AJAX 技術支援框

架,甚至 ASP.NET 2.0 所導入的 CallBack機制,如果您想要了解這些技術內容,

很抱歉,這裏沒有您要的資訊,您可以放下這本書然後轉身走人。

那,我們要談什麼 ??

如果您選擇了繼續往下看,那我們先告訴您,這本您正在翻閱、甚至可能將其

買下,或者已經帶回家,此刻正在閱讀的、是一本完整剖析 ASP.NET AJAX技術框

架的 ASP.NET技術書籍。

為什麼只談 ASP.NET AJAX,這門技術除了可以達到所有您想利用其他技術所

作到的 Ajax 功能之外,最重要的,它是 Microsoft 官方發表用來填補 ASP.NET 的

Ajax技術缺口,由於是官方的「正規」技術,它可以被完美無縫的整合進 Visual Studio

開發工具,延伸現有的 ASP.NET 功能,開發人員不需要修改現有的程式碼,就可

以將 Ajax的非同步溝通機制導入目前已經或是正在發展的網站系統當中。

ASP.NET AJAX早期版本的名稱為 Atlas,從 Microsoft發表 Beta版本之後,才

正式命名為 ASP.NET AJAX,它是一套完整的技術框架,更精確的說,它是一種延

伸機制,為傳統的 ASP.NET擴充出以 Ajax為基礎的網頁應用程式介面設計功能。

如果您正在使用其他的 Ajax 技術,甚至懷疑學習這個新的延伸套件所作的投

資是否符合成本,那我們還是會建議儘管轉到這個新的框架,除了這是官方發表的

套件之外,在下一個版本的 ASP.NET,它將被直接內建於其中,換句話說,你現在

所要接觸的最新技術,在下一個版本的 ASP.NET 出來之後,將會成為核心的入門

技術,而且它的功能強大,容易使用,ASP.NET開發人員為了擁有這門技術所付出

的成本將會非常值得。

Page 2: 낣ꑆ ASP.NET AJAX ꅝꗽꭥꪺꕎ뢹결 Atlasꅞꅁ녺꒣라Ꙣ덯ꖻ껑꒤곝꣬download.microsoft.com/.../ASP.NET_AJAX_introduction.pdf · 2018. 10. 16. · 1 낣ꑆASP.NET AJAX

本書適用讀者

這本書寫給以下的讀者:

� 具備.NET平台的入門知識

� 能夠撰寫簡單的 ASP.NET網頁

� 想要使用 ASP.NET建立 Ajax形式的網頁操作介面

儘管為了內容的完整與連貫性,這本書依然談到某些基本的 ASP.NET知識,但

是並不會針對 ASP.NET入門課程特別作介紹,因此具備基礎知識對於本書的閱

讀會有一定的幫助。

學習環境

這本書以 Visual Web Developer 2005 Express為開發工具,同時必須安裝 SQL

Server 2005 Express。

編寫慣例

本書針對 ASP.NET AJAX進行討論,它是用來支援 ASP.NET發展 Ajax應用程

式介面的框架,當你看到大寫的 AJAX,表示我們正在談的是 ASP.NET AJAX

框架,如果是字首大寫的 Ajax,指的則是一般泛稱的Web 2.0相關 Ajax技術。

為了與本文內容作區隔,程式碼部份以框線作標示如下:

<ajaxToolkit:TextBoxWatermarkExtender ID="TBWE2" runat="server" TargetControlID="TextBox1" WatermarkText="Type First Name Here" WatermarkCssClass="watermarked" HasInitialFocus="false" />

某些必須特別注意的重點程式碼區塊,以網底作表示如下:

<form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <asp:TextBox ID="txtDate" runat="server" Width="75px"

ValidationGroup="DateV" MaxLength="1" /><br /> <ajaxToolkit:MaskedEditExtender ID="MEditExtender" runat="server"

Page 3: 낣ꑆ ASP.NET AJAX ꅝꗽꭥꪺꕎ뢹결 Atlasꅞꅁ녺꒣라Ꙣ덯ꖻ껑꒤곝꣬download.microsoft.com/.../ASP.NET_AJAX_introduction.pdf · 2018. 10. 16. · 1 낣ꑆASP.NET AJAX

繪圖技術

A-3

A

TargetControlID="txtDate" Mask="99/99/9999" MessageValidatorTip="true" MaskType="Date"/> <ajaxToolkit:MaskedEditValidator ID="MdEditValidator" runat="server" ControlExtender="MEditExtender" ControlToValidate="txtDate" IsValidEmpty="False" EmptyValueMessage="請填入日期資料" InvalidValueMessage="日期不正確" ValidationGroup="DateV" Display="Dynamic" TooltipMessage="輸入日期資料" /> </form>

為了節省篇幅,某些重複或是不重要的程式碼,會以「⋯」作表示,如下式,

對於編輯器自動產生的程式碼,在大部份的情形下,書本亦不會列出。

using System; using System.Data; ⋯ ⋯ using System.Data.SqlClient;

讀者支援

這本書是由康廷數位工坊(http://www.javanet.tw)「呂高旭」以及強力鎯頭部落

格主「周殷德」共同協力完成,我們非常重視讀者的想法,針對本書所提出的

意見,無論喜歡或是厭惡的內容,都歡迎到我們工作室網站的書籍討論區,留

下您的感想,或是透過eMail讓我們知道。

� 本書討論區:http://www.javanet.tw/modules/newbb/(書籍討論區)

� E-Mail:[email protected]

Page 4: 낣ꑆ ASP.NET AJAX ꅝꗽꭥꪺꕎ뢹결 Atlasꅞꅁ녺꒣라Ꙣ덯ꖻ껑꒤곝꣬download.microsoft.com/.../ASP.NET_AJAX_introduction.pdf · 2018. 10. 16. · 1 낣ꑆASP.NET AJAX

勘誤

在撰寫以及製作本書的過程當中,我們盡力避免在各方面所可能產生的錯誤,

對於未來出版後所發現的錯誤,我們會在修正之後,公佈於網站的書籍介紹頁

中,同時於本書的下載區提供下載。

如果是讀者發現的任何錯誤,我們希望您能夠不吝讓我們知道,除了鞭策我們

在書籍的品質上更加用心,同時也可以經由勘誤表的公佈,讓其他的讀者避免

相同的困擾。

支援網站

康廷數位工坊:http://www.javanet.tw

本書內容

這本書的內容,一開始很快的談及 Ajax技術的起源,然後進入 ASP.NET AJAX

技術框架的討論,完成了相關內容的介紹之後,最後進一步將 ASP.NET各種現

有的機制與 AJAX 的整合運用,進行完整的說明,經過本書課程的洗禮,讀者

將具備在實際網頁的開發過程當中,妥善靈活運用 ASP.NET AJAX的技術能力。

以下列舉本書章節所涵蓋的內容:

CH01 關於 Ajax

這一章,我們將針對 Ajax技術的輪廓,進行概略性的說明,包含它的起源、內

涵、相關的應用,到運用其核心物件的實作範例,從這一章的課程內容當中,

讀者將能夠具備學習 Ajax所需的概念,至於本書最重要的主題,ASP.NET AJAX

套件,則於下一章進行說明。

CH02 ASP.NET AJAX概觀

這是一個概論性的章節,我們將從這裏進入 ASP.NET AJAX的正式討論課程,

從 ASP.NET AJAX的架構,一直到相關套件的安裝與使用,逐一作說明,最終,

你會在這一章的內容當中,了解 ASP.NET AJAX的輪廓,同時為 ASP.NET AJAX

的學習之路作好準備。

Page 5: 낣ꑆ ASP.NET AJAX ꅝꗽꭥꪺꕎ뢹결 Atlasꅞꅁ녺꒣라Ꙣ덯ꖻ껑꒤곝꣬download.microsoft.com/.../ASP.NET_AJAX_introduction.pdf · 2018. 10. 16. · 1 낣ꑆASP.NET AJAX

繪圖技術

A-5

A

CH03 ASP.NET AJAX與局部更新作業

接下來的章節,我們將逐步介紹 ASP.NET AJAX核心功能與其中所提供的 AJAX

伺服器控制項,而這一章將從 ScriptManager 與 UpdatePanel這兩個控制項為基

礎,帶領讀者一窺 AJAX伺服器控制項的全貌。

CH04 ASP.NET AJAX核心控制項

這一章繼續討論 ASP.NET AJAX核心套件裏面,其他幾個控制項,包含 Timer、

UpdateProgress與 ScriptManagerProxy,由於我們已經具備了使用ASP.NET AJAX

應有的基礎知識,因此這一章將直接從控制項本身進行討論。

CH05 運用 AJAX Library

這一章繼續討論 ASP.NET AJAX所涵蓋的另外一個部份:AJAX Library,這個

部份用來協助各種平台的網頁開發人員建立豐富用戶端的 Ajax應用程式。

CH06 Web Services

Web Services是一種跨平台的應用程式元件,能夠輕易的跨越網路,由各種異質

平台的用戶端進行整合,提供各式的網路服務。

AJAX非常依賴Web Services,並且透過它取得伺服器所提供的資料內容,以非

同步的方式動態更新網頁內容,深入討論 AJAX 之前,本章就 ASP.NET 對於

Web Service技術的支援,提供完整的說明,包含Web Services的架構與規格、

如何於 ASP.NET建立與使用Web Service。

CH07 存取個人化與驗證服務

ASP.NET 2.0導入了兩個非常重要的應用程式服務,分別是個人化設定檔 ProFile

以及身份驗證機制,開發人員可以藉由這兩種服務,為自已所建立的網頁,提

供客製化的網頁設定與身份驗證功能。

應用程式服務非常的方便,開發人員直接設定、不需自行撰寫程式碼,即可建

立所需的功能, 這一節,我們除了針對這兩種服務進行必要的說明之外,同時

一併介紹 ASP.NET AJAX針對這兩種服務所提供的客戶端網頁存取機制。

Page 6: 낣ꑆ ASP.NET AJAX ꅝꗽꭥꪺꕎ뢹결 Atlasꅞꅁ녺꒣라Ꙣ덯ꖻ껑꒤곝꣬download.microsoft.com/.../ASP.NET_AJAX_introduction.pdf · 2018. 10. 16. · 1 낣ꑆASP.NET AJAX

CH08 AJAX Control Toolkit -入門

從這一章開始總共四個章節,將分類介紹 Control Tookit所提供的控制項,本章

從套件安裝與環境設定等基本內容開始,針對各種控制項進行分類介紹,同時

針對其中幾種提供對話式方塊與資料顯示清單的控制項進行說明。

CH09 Control Toolkit-資料輸入與驗證

這一章繼續 Contorl Toolkit的主題,針對其中「資料輸入與驗證」類型的控制項

作討論,這一類的控制項大部份提供文字方塊的延伸功能,例如特定資料的輸

入與驗證輔助操作,同時包含了自動提示的關鍵字輔助選單、串接式的下拉式

選單等進階功能。

CH10 Control Toolkit -動態視覺效果設計

這一章是討論 Control Toolkit的第三個章節,針對實作動態視覺效果的控制項進

行討論,此種類型的控制項,提供某種客戶端網頁操作的動態視覺效果,開發

人員藉由這些控制項,可以輕易的製作出高度互動性的 AJAX動態網頁。

CH11 Control Toolkit-動畫標籤

Control Toolkit提供了一組用來協助製作動畫特效的動畫標籤,讓你的網頁能夠

輕易的實作出華麗的動態視覺效果,這一章針對相關的內容進行討論。

CH12 繪圖技術

了解繪圖技術在網頁開發設計的過程當中,非常的有用,尤其是撰寫資料庫應

用程式的開發人員,你可以透過繪圖技術,以圖形化的方式,表現各種報表或

是統計數據的結果。

無論如何,想要在網頁上運用繪圖技術,依然是個挑戰,不過在.NET 2.0 的時

代,加上 AJAX套件技術,將繪圖技術與 ASP.NET作結合,以圖形化的方式呈

現網頁資料已經不是什麼困難的事情,這一章讓我們來看看相關的理論與實作

技巧。

Page 7: 낣ꑆ ASP.NET AJAX ꅝꗽꭥꪺꕎ뢹결 Atlasꅞꅁ녺꒣라Ꙣ덯ꖻ껑꒤곝꣬download.microsoft.com/.../ASP.NET_AJAX_introduction.pdf · 2018. 10. 16. · 1 낣ꑆASP.NET AJAX

繪圖技術

A-7

A

CH13 整合資料庫存取技術

接下的章節,我們要開始討論一些實作範例,你會看到我們如何運用 ASP.NET

AJAX延伸工具,將傳統的 ASP.NET網頁轉換成為 AJAX介面,同時結合資料

庫存取機制,建立能夠直接與後端資料庫溝通,呈現即時更新的應用程式網頁。

CH14 ADO.NET與 Object Data Source

儘管使用 DataSource 非常方便,但是這意謂著我們同時付出犧牲彈性的代價,

無論如何,當你想要進行更複雜的繫結行為,使用 DataSource 控制項便會覺得

礙手礙腳,甚至某些 AJAX控制項以Web服務為其資料來源,在這種情形下,

你必須透過撰寫資料庫存取程式碼取得資料內容,然後將其餵給Web服務,再

間接由 AJAX 控制項來承接,也因為這種種的原因,這一節我們來看看如何透

過 ADO.NET,手動撰寫程式碼來完成資料庫的存取操作。

CH15 巡覽控制項

這一章,我們要討論幾個 ASP.NET 2.0 內建提供用來建立巡覽介面的視覺化控

制項,包含了製作頁籤的 MultiView、選單Menu以及提供類似檔案總管巡覽介

面的 TreeView等,除了相關控制項的使用,最重要的,你會在這一章看到我們

如何透過 AJAX延伸機制,將其轉換成為 AJAX形式的巡覽功能控制項。

CH16 運用 GridView

對於資料庫網頁系統的開發人員來說,GridView 是用來呈現資料最重要的控制

項,這一章除了說明如何使用 GridView在網頁上進行資料的呈現,同時示範如

何利用 AJAX延伸機制,建立不需換頁即可完成異動更新的 GridView控制項。

CH17 FormView

前一個章節針對 GridView的相關應用作了示範說明,這一章,更進一步的,透

過另外一個 FormView 控制項的運用,我們來看看如何建立更多樣化的資料庫

操作介面。

CH18 強化驗證管理介面

ASP.NET 2.0內建了功能相當完整的會員管理機制,開發人員可以根據自已的需

求,直接在網頁裏面嵌入相關功能,第七章存取個人化與驗證服務的時候,我

Page 8: 낣ꑆ ASP.NET AJAX ꅝꗽꭥꪺꕎ뢹결 Atlasꅞꅁ녺꒣라Ꙣ덯ꖻ껑꒤곝꣬download.microsoft.com/.../ASP.NET_AJAX_introduction.pdf · 2018. 10. 16. · 1 낣ꑆASP.NET AJAX

們已經就基本的設定,進行了相關的討論,而當我們已經了解各種 AJAX 控制

項的功能,並且實體際體驗了一些基本的範例,本章進一步來看看,如何將這

些控制項整合進 ASP.NET 2.0 內建的使用者管理機制,建立更具親加力的使用

者操作介面。

CH19 網路相簿

相簿是相當熱門的網路服務之一,你可以將自已的相片放到網路上,透過網路

相簿的功能將其分享出去,本章將以此功能為主軸,討論如何將前幾章所討論

的 AJAX 框架技術,運用在圖檔的呈現,搭配資料庫存取功能程式碼,建構出

流暢的網路相簿瀏覽介面。

另外我們還會進一步討論影像處理的相關技術,這個部份是第十二章的延伸,

你可以從中了解如何以泛型處理常式取代一般的影像檔案連結,同時建立更具

彈性的圖檔展示網頁。

CH20 檔案上傳與目錄操作

本書最後一章,討論與網路硬碟有關的功能,包含檔案上傳功能的實作,網路

硬碟的目錄操作等等,同樣的,我們將會藉由 AJAX 套件相關功能的輔助,實

作出具備高度互動、運作流暢的使用者操作介面。