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