微軟於3月7日在臺灣正式發表.NET平臺的Ajax解決方案-ASP.NET AJAX 1.0,並舉辦「Ajax開發日」,透過大量的範例指導開發者如何快速套用現成的Ajax控制項,增加既有網站的互動性,並介紹ASP.NET AJAX和WPF/E(Windows Presentation Foundation/Everywhere)的整合應用,希望藉由2D繪圖、向量動畫與影音效果,幫助企業有效提升Web應用程式的使用者體驗。

不應以512kB的思維經營8MB網路世代
臺灣微軟開發工具暨平臺推廣處產品行銷經理胡德民表示:「原先估計600人的小型研討會,竟有1167人報名,大大超乎我們的預期。」

胡德民說:「網路頻寬已由512kB發展到8MB,但網站的應用卻多停留在512kB的時代。」他接著表示,企業看待Web 2.0需要的不是部落格、wiki或網路相簿,也沒興趣投資所謂Web 2.0的新興網站或服務。企業需要的是以全新的思維,架構更具即時、互動性的網站。以投資理財網站為例,與其只是呈現靜態的報表與分析提供建議,不如讓使用者親自來玩一場大富翁養成的模擬遊戲!

不必受限於ASP.NET和瀏覽器類型
Web 2.0不等於Ajax,臺灣微軟資深應用開發技術經理周旺暾於研討會中表示:「Ajax的好處是用戶端不需下載安裝任何元件,即可享受高互動的網頁體驗。」

Ajax在Web 2.0中所扮演的角色,是減少網頁更新的次數,提供更好的即時與互動性。不過,開發Ajax並不輕鬆,因為必須同時熟悉伺服器端(ASP)與用戶端(JavaScript)的語言。其中最大的進入障礙是JavaScript,周旺暾強調:「要會寫JavaScript很簡單,但寫得好並不容易。」

在未推出.NET平臺的Ajax解決方案之前,.NET開發者要實作具Ajax技術的網頁功能,是非常辛苦的工作。因此微軟整合工具與元件,希望ASP.NET AJAX 1.0可以提高開發者的生產力。


JSP程式也可與WPF/E互動。

周旺暾透露:「ASP.NET AJAX更長遠的野心,就是實現SOA。」因為SOA的考量,所以ASP.NET AJAX的資料連線是基於Web Services,並且伺服器端不限ASP.NET,用戶端也不侷限IE瀏覽器。

現場介紹了微軟Ajax技術的重要網站ajax.asp.net,內容包含ASP.NET AJAX解決方案的套件下載、文件說明、應用範例等資訊。網站中的下載項目中,即包含「Microsoft AJAX Library on PHP」套件,可見伺服器端已超越ASP.NET的限制。

WPF/E為網站增添炫目效果
在2006年的TechEd,微軟預告即將推出.NET 3.0,而當時與會人士的疑慮是:.NET 3.0中的WPF(Windows Presentation Foundation)會不會取代ASP.NET?既有的ASP.NET應用該何去何從?微軟當時的說明是「ASP.NET結合AJAX」與「WPF」將是兩條平行發展的路線,如今似乎有了更明確的答案。

講師奚江華在研討會中說明了如何結合ASP.NET AJAX與即將推出的WPF/E,增加圖像、影音、2D及動畫等更炫目的效果。
由於WPF/E運用到的HTML、JavaScript及DOM等技術都是公開的標準,他當場做了一個不按牌理出牌的實驗:他啟動了Apache與Tomcat,以JSP程式呼叫WPF/E成功執行。這表示JSP、PHP等網頁程式語言,也可以叫用WPF/E。

只要可以支援AJAX的程式語言,都可以和WPF/E正常地溝通運作,只是微軟未必會張揚這檔事兒。WPF/E能否跨平臺的另一個關鍵在瀏覽器,支援瀏覽器種類越多,WPF/E的應用就越普及。

ASP.NET網站快速變身的秘訣-Control Toolkit
董大偉在研討會中回顧過去寫書的經驗表示:「以前為了開發元件可展收的效果,就寫了整整一章的內容,現在竟有一個現成的控制項可用!」透過微軟釋出的AJAX Control Toolkit,既有的ASP.NET網站可以快速變身,提供具Ajax效果的功能,而且幾乎套用每個控制項,都不超過20行的程式碼,足見AJAX Control Toolkit對生產力的影響。
>>>ASP.NET AJAX Control Toolkit控制項中文說明

章立民在研討會中進一步展示Ajax實作秘訣,內容幾乎都是開發Ajax經常遭遇的問題,所以雖然已是最後一堂課,而且延後半小時才結束,卻不見有人先行離開,會後許多學員至部落格留言索取範例程式,並強調課程內容超實用,可惜時間不足夠。文⊙李延華


ASP.NET AJAX 1.0架構

ASP.NET AJAX 1.0包括Microsoft AJAX Library、ASP.NET 2.0 AJAX Extensions,及Control Toolkit三個部分,ASP.NET 2.0 AJAX Extensions在伺服器端擴充ASP.NET的功能,加入Ajax的機制與行為。Microsoft AJAX Library則是開發端的JavaScript函式庫,目前支援IE、FireFox、Safari、Opera等主流瀏覽器。

而AJAX Control Toolkit則是發布在微軟所贊助的開放源碼網站-Complex上的免費套件,包含拖曳、動畫、淡出/淡入、日曆、元件縮放等共有34個常用的Ajax控制項,並附有完整的原始碼及使用範例,未來透過社群經營的模式,將繁衍出更多的Ajax控制項。

ASP.NET AJAX Control Toolkit

包含自行延伸擴充時,所需的基底類別與專案範本,及微軟技術社群發展的一套現成的Ajax的控制項。

用戶端

伺服器端

Microsoft AJAX Library:用戶端的JavaScript函式庫,目前支援IE、FireFox、Safari、Opera等主流瀏覽器。 ASP.NET 2.0 AJAX Extensions:在伺服器端擴充ASP.NET的功能,加入Ajax的機制與行為。

ASP.NET AJAX 1.0技術底層

ASP.NET AJAX Control Toolkit控制項中文說明

ASP.NET AJAX Control Toolkit控制項中文說明
名稱 功能
Accordion 類似OutLookbar可展開、收合的多層折疊顯示效果
AlwaysVisibleControl 可將控制項設為最上層顯示
Animation 針對特定的控制項執行動畫特效
AutoComplete 典型的TextBox自動完成功能(需Web Services)
Calendar 將TextBox控制項外掛突顯式月曆功能
CascadingDropDown 聯動式AJAX DropDownList(需Web Services)
CollapsiblePanel 將Panel控制項升級為可展開、收合
ConfirmButton 針對Button類控制項提供確認視窗功能
DragPanel 提供Panel拖曳功能
DropDown 提供下拉選項功能
DropShadow 可為Panel控制項繪製陰影
DynamicPopulate 非同步呼叫Web Services並將回傳結果填入控制項
FilteredTextBox 控制TextBox只能輸入特定字元
HoverMenu 在控制項的onmouseover事件,顯示Panel控制項(可做選單用途)
MaskedEdit 以特定的遮罩樣式,來限制TextBox輸入文字
ModalPopup 顯示強制回應型突顯式對話視窗
MutuallyExclusive 將CheckBox設為互斥群組
NoBOT 防止網頁遭他人以程式碼讀取
NumericUpDown 提供類似WinForm的NumericUpDown控制項功能(可使用Web Services)
PagingBulletedList 將BulletedList加入索引功能
PasswordStrength 提供密碼強度驗證功能
PopupControl 點選控制項時,突顯出Panel控制項
Rating 評分星等(例如5顆星)
ReorderList 記錄清單控制項
ResizableControl 提供對網頁元素提供拖曳放大縮小之能力
RoundedCorners 對Panel控制項設定圓角
Slider 將TextBox控制項改變(升級)成可划動的調整拉桿
TabControl 大家期待已久的頁標籤控制項
TextBoxWatermark 可擴充TextBox,在TextBox空白時覆蓋上一層提示文字
ToggleButton 可擴充CheckBox,讓原先的CheckBox變成以圖示呈現核取狀態
UpdatePanelAnimation 可擴充UpdatePanel控制項,在非同步Postback發生時,呈現出動畫效果
ValidatorCallout 可擴充驗證控制項,增強驗證控制項的顯示效果,變成突顯式文字方塊
ListSearch 配合ListBox控制項,讓ListBox取得駐點時,可以透過輸入文字跳到(搜尋)特定的項目
SlideShow 配合Image控制項完成照片自動撥放效果
資料來源:董大偉,iThome整理

熱門新聞

Advertisement