松原職業(yè)技術(shù)學(xué)院 王志宇
關(guān)于ASP.NET的WEB程序設(shè)計課程研究
松原職業(yè)技術(shù)學(xué)院 王志宇
本文針對高校在基于ASP.NET的Web編程開發(fā)課程教學(xué)過程中存在的問題,采用項目化實例教學(xué)方法,提供具體案例,通過“任務(wù)驅(qū)動”、“案例式”教學(xué)模式,激發(fā)學(xué)生的學(xué)習(xí)興趣,注重學(xué)生的獨立思考能力的培養(yǎng),取得了良好的教學(xué)效果。
程序設(shè)計;對象;教學(xué)方法
ASP.NET是微軟公司繼ASP之后又新推出的動態(tài)Web應(yīng)用程序的開發(fā)平臺,它與之前的ASP從開發(fā)語言、運行機制、開發(fā)方式有很大的區(qū)別。ASP.NET引用了服務(wù)器控件,從根本上改變了原有的ASP編程思維模式,在ASP.NET中一切皆是由控件所組成,甚至于一個頁面都可以看成是服務(wù)器控件。這就要求學(xué)生學(xué)習(xí)此門課程,從零學(xué)起,不能與原來的ASP編程方式所混淆,通過本課程的學(xué)習(xí)使學(xué)生能夠?qū)W會制作動態(tài)網(wǎng)站,用多種不同的方法去解決同一個問題。
Web開發(fā)課程中,采用實例教學(xué)方法與“任務(wù)驅(qū)動”教學(xué)模式相結(jié)合,對于不同的內(nèi)容,將提供不同的實例,激發(fā)學(xué)生的興趣。該課程教學(xué)內(nèi)容主要分為如下幾個方面:Web服務(wù)器控件、內(nèi)置對象、數(shù)據(jù)庫編程。
(一)“Web服務(wù)器控件”教學(xué)方法
此部分是令學(xué)生喜歡的一方面,它有可視化的外觀,所見即所得,學(xué)生向頁面上添加控件來控制頁面布局,利用CSS樣式使頁面變得更加美觀,但學(xué)生往往忽視了每個控件的屬性以及用代碼對控件的編程。在上課時,教師除了講解控件的用途外,還要更進一步拓展學(xué)生對每個控件的深層理解。例如:制作“地、市二級聯(lián)動”的實例將利用到DropDownList控件,當(dāng)此控件的AutoPostBack屬性為True時,在選定的內(nèi)容更改后,頁面會自動回發(fā)到服務(wù)器,才可以設(shè)置返回值所對應(yīng)的二級列表。為了加強學(xué)生對此控件屬性的理解,先不設(shè)置AutoPostBack的值(默認為False),運行后看效果,當(dāng)學(xué)生發(fā)現(xiàn)并未實現(xiàn)所要的效果,這時教師再說明解決的辦法,此時學(xué)生對此屬性的理解會更加深刻。用代碼實現(xiàn)則更為容易,只需要簡單的語句就能實現(xiàn),這樣才能使學(xué)生對此控件及其屬性更進一步加深認識。
(二)內(nèi)置對象教學(xué)方法
ASP.NET中有六個常用的內(nèi)置對象,雖然每個對象之間沒有直接的聯(lián)系,但是它可以實現(xiàn)頁面之間的數(shù)據(jù)傳遞及一些特定功能,如緩沖輸出、頁面重定向等,所以知識點較散,為了使學(xué)生能夠更好的理解,就需要用到實例。例如:“會員登錄系統(tǒng)”和“會員基本信息”兩個界面,“會員登錄系統(tǒng)”中用戶的登錄名與密碼通過Session、Cookies對象獲取信息存儲,在新會話開始時,服務(wù)器存儲在用戶的Web瀏覽器中,也可以通過Response的Redirect方法或者Server. Transfer傳遞到新頁面,通過多種法實現(xiàn),讓學(xué)生比較這幾種方法的優(yōu)缺點并熟練掌握。“會員基本信息”界面借助于Session或者Cookies來讀取信息,也可以利用Request對象的QueryString屬性獲得傳遞的信息,利用Server對象的屬性來獲得用戶的瀏覽器版本、操作系統(tǒng)平臺等相關(guān)信息,用Application對象實現(xiàn)網(wǎng)站訪問量的功能,向?qū)W生介紹這些對象的使用方法。在這個例子中,使用到了Response、Request、Session、Cookies、Server、Application對象,讓學(xué)生思考這些對象的作用并完成案例設(shè)計。
(三)數(shù)據(jù)庫編程教學(xué)方法
ASP.NET數(shù)據(jù)庫編程會利用到ADO.NET,利用它可以方便地存取數(shù)據(jù),ADO.NET是由很多類組成的一個類庫,包括Connection、Command、DataReader、DataAdapter、DataSet等對象,每個對象各有千秋,Connection對象用于與特定的數(shù)據(jù)源進行建立連接,是訪問者和數(shù)據(jù)源直接的對話通道。Command對象用于數(shù)據(jù)執(zhí)行命令。DataReader對象是用于從數(shù)據(jù)源以只讀的方式向前讀取數(shù)據(jù),它是一個簡易的數(shù)據(jù)集。DataAdapter對象用于將數(shù)據(jù)源中的數(shù)據(jù)解析更新并填充到DataSet數(shù)據(jù)集中。這部分內(nèi)容比較抽象,要寫代碼比較多,學(xué)生不容易理解,就需要設(shè)計一個學(xué)生感興趣的案例,將不同對象表現(xiàn)出來。比如留言薄系統(tǒng),讓他們通過本章節(jié)的學(xué)習(xí),可以制作設(shè)計自己的留言薄程序。先引導(dǎo)學(xué)生進行程序制作,然后再讓學(xué)生總結(jié)他們所用到的數(shù)據(jù)庫對象和原因以及用此對象的好處,針對學(xué)生的總結(jié),教師再進行闡述控件之間的相互關(guān)系,并讓學(xué)生參與討論。通過討論,讓學(xué)生感覺講解知識不再枯燥乏味,使學(xué)生在輕松掌握知識的同時,又增加了自主學(xué)習(xí)的興趣。
ASP.NET是一門實踐性很強的課程,所以在課中采取“任務(wù)驅(qū)動式”的教學(xué)方法是很有必要的,在每一節(jié)實踐課上都需要給學(xué)生一個具體的任務(wù),教師通過多媒體教學(xué)演示案例完成后的效果,引導(dǎo)學(xué)生注意要領(lǐng),并提示知識點,這樣可以避免學(xué)生在完成任務(wù)時少走彎路,出現(xiàn)不必要的錯誤,提示學(xué)生如果一種辦法解決不了,換另一種辦法,教師此做法可以使學(xué)生在一個問題上尋求多種解決方法的思維方式。任務(wù)完成后,請同學(xué)對自己所做的程序進行說明,并讓大家討論程序的優(yōu)缺點。每一次實驗完成后教師要對其完成的任務(wù)評分,以督促學(xué)生在上課時間內(nèi)完成任務(wù),找?guī)讉€設(shè)計比較好的作品展示給大家,增強學(xué)生的成就感,促進學(xué)生的學(xué)習(xí)興趣。
在學(xué)期初開設(shè)此課程時,給學(xué)生布置一個大的項目案例,比如:招生錄取系統(tǒng)、網(wǎng)絡(luò)選課系統(tǒng)、電子商務(wù)網(wǎng)站等,要求學(xué)生在本學(xué)期期末以此做為考評的一部分,在平日上課過程中學(xué)生將每節(jié)課學(xué)習(xí)的知識點制作成小案例穿插結(jié)合并完成項目。
經(jīng)過一段的教學(xué)嘗試,很多學(xué)生已有較強的程序設(shè)計能力,對編寫程序有了自己獨到的見解與用多種方法處理問題的能力。教師在計算機教學(xué)過程中設(shè)計并創(chuàng)造任務(wù),在每一個章節(jié)中都有一個項目做為主線,用多個小實例帶動學(xué)生獨立思考和動手能力。在多元化教學(xué)模式下,圍繞任務(wù)展開學(xué)習(xí),以任務(wù)的完成情況知曉學(xué)生掌握技能的程度,理論與實踐相結(jié)合融會貫通使學(xué)生真正掌握本課程的技術(shù)和能力。
[1]李學(xué)勇.《ASP.NET Web程序設(shè)計》,2009.
[2]王得燕.《ASP.NET(C#)動態(tài)網(wǎng)站開發(fā)案例教程》,2011.
王志宇(1982—),助教,現(xiàn)供職于松原職業(yè)技術(shù)學(xué)院教育技術(shù)與信息中心。