華文學(xué)生計算機技能輔助系統中.NET程序技術(shù)
華文教育首先是指為掌握華文而興辦的教育。在具體語(yǔ)境中,它的涵義可能有如下變化:(1)著(zhù)眼于辦學(xué)主體,將它理解為華僑華人在居住國與入籍國興辦的教育,略近于華僑教育、華人教育;(2)著(zhù)眼于教育對象,將它理解為面向海外華僑華人子女的教育,與華人華僑青少年教育相通;(3)著(zhù)眼于教學(xué)手段,將它解釋為運用華文進(jìn)行的教育,其科目不限于語(yǔ)言文字;(4)強調教育的社會(huì )功能,將掌握華文視為學(xué)習、繼承與發(fā)揚中華文化優(yōu)良傳統的途徑,由此將華文教育的外延由語(yǔ)言文字領(lǐng)域擴展到文化領(lǐng)域[1]。
1 華文學(xué)生計算機基本操作技能現狀
華文學(xué)生計算機基本操作技能是計算機知識的入門(mén)課程,內容著(zhù)重于計算機的基礎知識、基本概念和基本操作技能,并兼顧實(shí)用軟件的使用和計算機應用領(lǐng)域的前沿知識,為學(xué)生熟練使用計算機和進(jìn)一步學(xué)習計算機相關(guān)知識打下基礎。其教材的編寫(xiě)和國內學(xué)生計算機操作技能的教材基本一樣,但對于教材的描述語(yǔ)言是經(jīng)過(guò)漢語(yǔ)學(xué)者遴選的。通過(guò)該課程的學(xué)習,使學(xué)生在基本掌握計算機基礎知識的基礎上理解一些計算機的常用術(shù)語(yǔ)和基本概念;學(xué)生能較熟練地使用Windows 2000操作平臺,熟練掌握文字處理軟件Word、表格處理軟件Excel 及演示文稿制作軟件PowerPoint的基本操作,掌握Internet和瀏覽器以及網(wǎng)頁(yè)制作軟件FrontPage的基本使用方法,掌握計算機信息安全等。
(1)在平時(shí)的課堂授課中:由于計算機技能課都是中文授課,這就是一種華語(yǔ)教學(xué)上的計算機技能培訓。學(xué)生有時(shí)可能會(huì )聽(tīng)不懂老師用中文講授的課程內容,但是老師的操作步驟是一種感性的認識,學(xué)生基本都會(huì )明白,那么當學(xué)生閱讀教材或者進(jìn)行實(shí)訓的時(shí)候,遇到中文表述的操作步驟時(shí),如果他們能夠借助一個(gè)輔助系統進(jìn)行對應的母語(yǔ)的查找,則可解決問(wèn)題。
(2)技能測試中的情況:華文學(xué)生的計算機測試是語(yǔ)言關(guān)基礎上的計算機測試,學(xué)生首先讀懂了中文題目,進(jìn)一步才是答題。根據筆者的教學(xué)和監考評卷經(jīng)驗,很多情況下是因為學(xué)生中文試題題目沒(méi)有讀懂以至于他們解答不了這個(gè)題目或者解答不正確,但這并不代表他們不會(huì )這項計算機技能[2]。
基于以上情況,可以按章節、按難易程度設置檢索關(guān)鍵詞和關(guān)鍵短語(yǔ),并為關(guān)鍵詞和短語(yǔ)配圖或操作視頻,建立一個(gè)這樣的系統供學(xué)生上課和學(xué)習時(shí)使用。該系統是課程范圍內的“金山詞霸”,輔助學(xué)生學(xué)習,這樣學(xué)生就不必要死記硬背華文詞語(yǔ)進(jìn)行計算機基本操作技能的學(xué)習。如果在平時(shí)的學(xué)習中學(xué)生已經(jīng)能熟練地操作該輔助系統,測試時(shí),即使題目的中文再復雜,學(xué)生把不懂的關(guān)鍵短語(yǔ)弄明白后也可以做到基于語(yǔ)言關(guān)基礎上的作答了[3]。
系統采用.NET三層框架的模式進(jìn)行開(kāi)發(fā),在應用系統進(jìn)行查詢(xún)和瀏覽時(shí),常常要顯示多頁(yè)的內容,為了有效節省客機資源和網(wǎng)絡(luò )帶寬,做到 “按需索取”,相對傳統Web應用減少了客戶(hù)端與服務(wù)器的數據交互量,采用自定義的分頁(yè)技術(shù)來(lái)改善資源利用率,在Internet或者LAN內都能有效地節約寶貴帶寬資源,提高系統的響應和查詢(xún)效率。
2 .NET分頁(yè)技術(shù)與自定義分頁(yè)技術(shù)
2.1 傳統分頁(yè)技術(shù)
DataGrid 控件內置地支持對數據源的記錄的分頁(yè)操作。例如,假定要顯示一個(gè)計算機基本技能名詞列表,其中包含幾百條記錄,但并不想一次在一個(gè)頁(yè)面中顯示所有這些記錄,而是要把這些記錄分放到多個(gè)邏輯頁(yè)面中,此時(shí)可以通過(guò)允許AllowPaging屬性并且創(chuàng )建一個(gè)子程序來(lái)修改當前頁(yè)面,由此來(lái)允許DataGrid的分頁(yè)操作。在允許分頁(yè)操作時(shí)還有一個(gè)重要的要素,那就是只有存在DataGrid控件的數據源實(shí)現了ICollection接口時(shí)才能允許分頁(yè)操作。DataReader沒(méi)有實(shí)現這種接口,因此就必須改用DataTable。頁(yè)面內顯示的記錄數由DataGrid控件的PageSize屬性決定,在默認情況下,該屬性值為10,在程序清單中把它設為其他值以便每頁(yè)顯示自定義的記錄[4]。
2.2 自定義分頁(yè)技術(shù)原理
分頁(yè)是Web應用程序中最常用到的功能之一,也是許多ASP.NET程序員最頭疼的問(wèn)題。ASP.NET中自帶的可以分頁(yè)的DataGrid(ASP.NET 1.1)和GridView(asp.net 2.0)控件可定制性差、無(wú)法通過(guò)Url實(shí)現分頁(yè)功能等,而且有時(shí)需要對DataList和Repeater甚至自定義數據綁定控件進(jìn)行分頁(yè),手工編寫(xiě)分頁(yè)代碼不但技術(shù)難度大、任務(wù)繁瑣, 而且代碼重用率極低,每次當瀏覽新的頁(yè)面時(shí),所有的記錄都必須從數據庫檢索出來(lái)。因此,如果對有幾十萬(wàn)條記錄的數據庫分頁(yè)時(shí),這幾十萬(wàn)條記錄必須在每次移動(dòng)到新頁(yè)面時(shí)檢索到內存中。本文將實(shí)現一個(gè)自定義分頁(yè)的解決方案來(lái)避開(kāi)這個(gè)局限,只要檢索所需要的記錄而不是獲取要在每頁(yè)中顯示的每條記錄。
AspNetPager分頁(yè)控件彌補了ASP.NET分頁(yè)的不足,提出了與眾不同的方案解決ASP.NET中分頁(yè)問(wèn)題,即將分頁(yè)導航功能與數據顯示功能完全獨立開(kāi)來(lái),由用戶(hù)自己控制數據的獲取及顯示方式,因此可以靈活地應用于任何需要實(shí)現分頁(yè)導航功能的地方,如為GridView、DataList以及Repeater等數據綁定控件實(shí)現分頁(yè)、呈現自定義的分頁(yè)數據以及制作圖片瀏覽程序等。AspNetPager控件和數據是獨立的,因此要分頁(yè)的數據可以來(lái)自任何數據源,如SQL Server、Oracle、Access、mysql、DB2等數據庫以及XML文件、內存數據或緩存中的數據、文件系統等[5]。
3 .NET自定義分頁(yè)技術(shù)
3.1 系統開(kāi)發(fā)背景
ASP.NET可以使用.NET平臺快速方便地部署三層架構。ASP.NET革命性的變化是在網(wǎng)頁(yè)中也使用基于事件的處理,可以指定處理的后臺代碼文件,可以使用C#、VB、J#作為后臺代碼的語(yǔ)言。.NET中可以方便地實(shí)現組件的裝配,后臺代碼通過(guò)命名控件可以方便地使用自己定義的組件。顯示層放在A(yíng)SP頁(yè)面中,數據庫操作和邏輯層用組件來(lái)實(shí)現,這樣就很方便地實(shí)現了三層架構。用ASP.NET部署三層架構來(lái)開(kāi)發(fā)華文教育下的計算機技能關(guān)鍵詞和關(guān)鍵短語(yǔ)的查詢(xún)系統,系統的架構如圖1所示。
首先在SqlServer數據庫中建一個(gè)數據庫CompWord,在CompWord中建表TB_CompWord,如表1所示。
(1)打開(kāi)VS.NET,在新建項目中選擇Visal C#項目,模板選擇ASP.NET Web應用程序,為本方案命名為CompWord。
(2)建立數據庫訪(fǎng)問(wèn)控件DBLayer,此控件用來(lái)調用數據庫數據,封裝所有的數據處理操作。
(3)建立邏輯處理控件BusinessLayer,此控件用來(lái)封裝所有的邏輯處理操作。
(4)關(guān)于引用。因為BusinessLayer要用到自定義的Web控件,所以必須添加引用。右鍵點(diǎn)擊BusinessLayer的“引用”,選擇.NET的“AspNetPager.dll”雙擊選中即可。
3.2 關(guān)鍵實(shí)現技術(shù)
可以通過(guò)DataGrid的自定義分頁(yè)功能來(lái)減少資源使用和提高效率。DataGrid自帶的分頁(yè)功能實(shí)現起來(lái)雖然比較方便,但是效率不高,每次都需要讀取所有頁(yè)(整個(gè)記錄集),而加載的只是其中一頁(yè),造成了資源的浪費,記錄多又會(huì )使效率變得很低。下面通過(guò)DataGrid的自定義分頁(yè)功能來(lái)減少資源使用和提高效率。前臺的主要代碼如下:
界面層添加分頁(yè)的導航條:webdiyer:AspNetPager ID=pager runat=server PageSize=7 NumericButtonCount=8 ShowCustomInfoSection=left PagingButtonSpacing=0 ShowInputBox=always CssClass=mypager HorizontalAlign=right OnPageChanged=ChangePage SubmitButtonText=轉到 NumericButtonTextFormatString=[{0}] alwaysshow=true>/webdiyer:AspNetPager>
在邏輯層,添加如下的引用:
cmd = new SqlCommand(GetCiAll, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(@pageindex,1);
cmd.Parameters.Add(@pagesize,1);
cmd.Parameters.Add(@docount,true);
pager.RecordCount = (int)cmd.ExecuteScalar(); BindData();
其中的GetCiAll為一個(gè)寫(xiě)于數據庫上的存儲過(guò)程。
評論