陳薇
(浙江育英職業(yè)技術(shù)學(xué)院 浙江 杭州 310018)
Web2.0及Ajax技術(shù)在高職ASP.NET教學(xué)中的應(yīng)用研究*
陳薇
(浙江育英職業(yè)技術(shù)學(xué)院 浙江 杭州 310018)
目前,國內(nèi)外網(wǎng)絡(luò)及信息服務(wù)已全面進入Web2.0時代。掌握Web2.0及其關(guān)鍵技術(shù)能使高職畢業(yè)生在就業(yè)競爭中占得優(yōu)勢。Ajax技術(shù)用于動態(tài)網(wǎng)站開發(fā),能減輕服務(wù)器壓力,提高系統(tǒng)響應(yīng)速度,減少用戶等待時間。本文探討了Ajax技術(shù)的概念、優(yōu)勢,提出了在ASP.NET課程教學(xué)的具體案例中Ajax技術(shù)的實現(xiàn)方法。
Web2.0;Ajax;高職;ASP.NET;網(wǎng)頁開發(fā);計算機教學(xué)
隨著互聯(lián)網(wǎng)的快速發(fā)展,掌握一項動態(tài)網(wǎng)站開發(fā)技術(shù)對于高職計算機專業(yè)學(xué)生來說是非常重要的。ASP.NET是高職計算機專業(yè)的一門必修專業(yè)主干課程,最近幾年其地位和作用更加凸顯。對用人企業(yè)調(diào)研發(fā)現(xiàn),企業(yè)對熟知目前主流技術(shù)、充分了解創(chuàng)新產(chǎn)品開發(fā)理念的網(wǎng)站開發(fā)類人才的需求非常強烈。反觀我們目前的ASP.NET教學(xué)內(nèi)容,對開發(fā)基礎(chǔ)知識和相關(guān)平臺知識的教育做得比較充分,但是在網(wǎng)絡(luò)服務(wù)的創(chuàng)新觀念和新近技術(shù)的教育方面仍少有跟進。隨著Web2.0概念的提出和興起,網(wǎng)絡(luò)正從Web1.0步入Web2.0時代。Ajax是Web2.0標準的核心技術(shù),它在Web網(wǎng)頁中的應(yīng)用正得到逐步加強。因此,在ASP.NET課程中加強對Ajax的研究和應(yīng)用將是重要而有意義的。
(一)Web2.0介紹
Web2.0這一術(shù)語,是2004年3月美國O'Reilly公司的戴爾·多爾蒂(Dale Dougherty)和MediaLive公司的克瑞格·克萊(Craig Cline)共同提出的。
Web2.0是新一代互聯(lián)網(wǎng)應(yīng)用的統(tǒng)稱,是互聯(lián)網(wǎng)的一次理念和思想體系的升級換代,其最突出的特點就是強調(diào)使普通用戶真正融入互聯(lián)網(wǎng)中,從單純的“讀”向“寫”、向“共同建設(shè)”發(fā)展。用戶既是網(wǎng)站內(nèi)容的瀏覽者也是創(chuàng)造者,表現(xiàn)為一種雙通道的交流模式。Web2.0的出現(xiàn),使網(wǎng)絡(luò)用戶不再被動地接受信息,可以提交Blog表達自己的思想,訂閱RSS分享傳播知識和信息,使用Wiki共同構(gòu)建信息。Web2.0代表了個性化、共享性、開放性的現(xiàn)代交流方式,更注重用戶的交互,極大地釋放了個人創(chuàng)作和貢獻的潛能,使得互聯(lián)網(wǎng)的創(chuàng)造力上升到了新的數(shù)量級。
(二)Ajax的相關(guān)概念和工作過程
隨著Internet的興起,B/S結(jié)構(gòu)以不需要安裝客戶端軟件、維護簡單等優(yōu)勢成為目前最常用的軟件系統(tǒng)體系結(jié)構(gòu)。在這種模式下,應(yīng)用程序基本運行在Web服務(wù)器上,用戶通過Web瀏覽器訪問應(yīng)用程序。但這種結(jié)構(gòu)也存在一定的缺陷,就是客戶端和服務(wù)器因為需要進行大量數(shù)據(jù)傳輸,用戶在操作過程中,需要等待服務(wù)器響應(yīng),等待屏幕刷新,等待請求返回和生成新的頁面。這些數(shù)據(jù)有大量是重復(fù)的,不僅增加了服務(wù)器的負擔(dān),也降低了用戶的良好體驗,并且限制了客戶端有豐富的用戶界面元素。Ajax(Asynchronous JavaScript&XML)技術(shù)的提出很好地解決了這一問題。在動態(tài)網(wǎng)站開發(fā)中,應(yīng)用Ajax技術(shù)可以實現(xiàn)網(wǎng)頁的局部刷新,滿足用戶按需取數(shù)據(jù)的需求。
確切地說,Ajax并不是一門新的語言或技術(shù),實際上是幾項技術(shù)的組合,其中包括使用XHTML和CSS標準化呈現(xiàn),使用DOM實現(xiàn)動態(tài)顯示和交互,使用 XML和 XSLT進行數(shù)據(jù)交換與處理,使用XMLHttpRequest進行異步數(shù)據(jù)讀取, 最后用JavaScript綁定和處理所有數(shù)據(jù)。Ajax最核心的部分就是XMLHttpRequest對象的使用。Ajax利用一種中間媒介(Ajax引擎)消除了用戶和服務(wù)器交互間的等待。
ASP.NET程序設(shè)計課程是我院計算機專業(yè)的專業(yè)主干課程,是省級精品課程。從近幾年學(xué)生的畢業(yè)設(shè)計作品來看,有60%以上的學(xué)生選擇用ASP.NET做網(wǎng)站開發(fā)??梢?,ASP.NET技術(shù)已成為畢業(yè)生最看重的一門技術(shù)。
隨著Ajax的提出和越來越多的網(wǎng)絡(luò)應(yīng)用,比如Google Suggest、Gmail等,大家越來越多地感受到了Ajax帶來的用戶良好感受和系統(tǒng)性能提高。目前,Ajax框架已有不少,其中微軟推出的ASP.NET Ajax框架已比較成熟,使用Ajax框架進行Web開發(fā),效率高,代碼穩(wěn)定性好。所以,在ASP.NET程序設(shè)計課程中,我們使用了ASP.NET Ajax框架進行具體案例的開發(fā)教學(xué)。
(一)準備工作
ASP.NET Ajax只支持.NET2.0以上平臺。.NET3.5(VS.NET 2008及以上)中已集成,不需要安裝,.NET2.0則需要安裝擴展包。如果選用 VS.NET 2005即. NET2.0,則需要到ASP.NET網(wǎng)站下載ASPAJAXExtSetup.msi進行安裝。安裝好之后,在新建網(wǎng)站時就會出現(xiàn)ASP.NET AJAX-Enabled WebSite模板,如圖1所示。
圖1 ASP.NET AJAX-Enabled WebSite模板示意圖
(二)通過小案例理解Ajax的工作流程
在教學(xué)時,為使學(xué)生能對Ajax的原理和工作流程有比較直觀的認識,首先可選取一個簡單的小案例來實現(xiàn)。在案例中,用戶在瀏覽器點擊按鈕,實現(xiàn)不刷屏輸出文字“Welcome to ASP.NET Ajax!”。實現(xiàn)過程如下:(1)新建網(wǎng)站。選擇 ASP.NET AJAX-Enabled WebSite模板。使用這個模板創(chuàng)建網(wǎng)站,VS將自動在Web.config中配置好這個框架需要的配置項,而且會在頁面中自動加入一個ScriptManager控件,這個控件是ASP.NET Ajax應(yīng)用必不可少的。(2)創(chuàng)建后臺程序。Welcome.cs,定義類Welcome和相應(yīng)的方法。(3)創(chuàng)建WebService。在網(wǎng)站工程下新建WebService文件WelcomeService,這時VS會自動建立對應(yīng)的代碼文件,WelcomeService.cs。(4)編寫JavaScript。編寫單擊時調(diào)用的JS函數(shù)和回調(diào)函數(shù)。(5)編寫主頁。主頁中多了一個ScriptManager控件,控件中需要定義引入的外部JS腳本文件和WebService文件。
通過小案例,使學(xué)生更好地理解Ajax應(yīng)用程序與服務(wù)器交互的流程:首先,某個用戶操作(輸入URL地址或點擊鏈接)引發(fā)了瀏覽器一次HTTP請求,然后服務(wù)器處理這個請求,生成合適的HTML、CSS以及JavaScript,并發(fā)送至客戶端。客戶端瀏覽器將這一段HTML顯示出來。隨后,用戶在該Ajax頁面上的后續(xù)操作將與傳統(tǒng)Web頁面完全不同:用戶的這些操作將不會引發(fā)瀏覽器的另一次HTTP請求,取而代之的是將引發(fā)客戶端的某段JavaScript代碼加以執(zhí)行,如圖2所示。
圖2 Ajax應(yīng)用程序的一次與服務(wù)器交互流程示意圖
(三)在完整的案例教學(xué)中使用Ajax技術(shù)
ASP.NET課程主要采用項目教學(xué),在 “網(wǎng)上書店”這個案例項目的開發(fā)中,在注冊表單驗證、購物車、產(chǎn)品評級、提前加載分頁等地方使用了Ajax技術(shù)。(1)注冊表單驗證。在新用戶注冊時,需要驗證用戶名是否已存在,或者E-mail是否已被人使用,兩次輸入的密碼是否一致等。使用Ajax技術(shù),很多原來必須提交到服務(wù)器才能驗證的內(nèi)容,可以在不刷新頁面的情況下直接驗證。(2)購物車。購物車在購物網(wǎng)站中是必不可少的,傳統(tǒng)的購物車在用戶增加新產(chǎn)品時往往要彈出或者轉(zhuǎn)到新的頁面,使用Ajax技術(shù)后,可以不必切換頁面就能完成產(chǎn)品增加或者刪除的過程,使用戶獲得流暢完整的購物體驗。(3)產(chǎn)品評級。購物網(wǎng)站往往會讓用戶對產(chǎn)品進行評級打分,使用Ajax技術(shù)對評級過程進行完善,使得用戶能在不打斷當(dāng)前瀏覽的情況下參與評級,用戶不會覺得很麻煩,可有效提高用戶的參與熱情。(4)提前加載分頁。某頁的內(nèi)容太多時,需要分頁來顯示,基于Ajax技術(shù),可以使用戶閱讀當(dāng)前頁面時,提前加載下一頁數(shù)據(jù),這樣當(dāng)用戶翻頁時,能以最快的速度打開下一頁的內(nèi)容。
ASP.NET Ajax技術(shù)是一種實現(xiàn)異步網(wǎng)絡(luò)應(yīng)用的技術(shù)。通過ASP.NET Ajax技術(shù),開發(fā)人員或者程序員可以將Web服務(wù)器控件與客戶端腳本結(jié)合起來,并在此基礎(chǔ)上實現(xiàn)Web頁面的局部更新功能。隨著Ajax技術(shù)越來越多的應(yīng)用,在基于ASP.NET的Web網(wǎng)頁開發(fā)教學(xué)中,引入Ajax技術(shù)是必然的趨勢。當(dāng)然,在使用ASP.NET Ajax框架的開發(fā)中,還有一些問題需要進一步解決,比如安全性,比如數(shù)據(jù)更新前后的標志、后退操作等,還有待進一步的探討和研究。
[1]凌茜,馬武林.基于Web2.0平臺的大學(xué)英語混合式學(xué)習(xí)探究[J].電化教育研究,2009(6).
[2]莊秀麗.Web2.0教育應(yīng)用[J].信息技術(shù)教育,2006(4):24-26.
[3]GarrettJ.AJAX:A New Approach to Web Applications[EB/OL].(2005-02-18).http://www.adaptivepath.com/publications/essays/archives/000385.php.
[4]陳黎夫.ASP.NET AJAX程序設(shè)計——第II卷:客戶端[M].北京:人民郵電出版社,2007.
[5]陳冠軍.完全手冊ASP.NET AJAX實用開發(fā)詳解[M].北京:電子工業(yè)出版社,2008.
G712
A
1672-5727(2013)12-0174-03
陳薇(1978—),女,浙江麗水人,碩士,浙江育英職業(yè)技術(shù)學(xué)院講師,研究方向為計算機應(yīng)用。
(本欄責(zé)任編輯:謝良才)
浙江省教育技術(shù)研究規(guī)劃課題《Web2.0技術(shù)在高職ASP.NET教學(xué)中的應(yīng)用研究》(課題編號:JB064)