摘要:教學網站在課程輔助教學和教學改革中的作用越來越重要,本文介紹了如何利用Microsoft.NET、SQL Server等軟件構建基于.NET的動態教學網站平臺系統。實踐證明,采用.NET技術開發動態導航教學網站平臺在技術上完全可行,便于后期的維護和升級。
關鍵詞:教學網站;.NET;動態導航
網絡教學平臺降低了教學網站建設的技術難度,使一線教師都能容易地搭建、設計自己的課程網站,這樣更有利于資源共享和網絡輔助教學的廣泛開展,這也是現在許多高校購置或自主開發搭建校園網絡教學平臺的一個主要原因。然而目前一些教學網站存在著兩個主要問題:有些網站采用靜態導航的方式,預先設置好欄目,使得網站的設置和維護不夠靈活;還有些平臺的功能模塊設計得過多,結果只是技術上實現了,但實際上可能沒有教師、學習者去使用[1]。因此本文利用.NET技術構建了一個三層結構模式的動態教學網站平臺系統。此系統以數據庫SQL Server為依托,采用目前主流的.NET技術,使用全新的面向對象語言C#,結合ASP.NET,運用Web服務器控件設計完成。本系統只需要根據自己的課程特點,像搭積木一樣進行必要的功能模塊搭建就可完成課程框架的建設。這樣在很短的時間就可以搭建好自己的課程網站框架。

本系統實現了課程欄目和內容的動態管理與維護,實現了教學資源(如教學課件、教學視頻等)的共享與交流,實現教師與學生之間、學生與學生之間的互動,如作業、考試、畢業設計、答疑等,使大家能在統一的平臺基礎之上進行溝通與交流。提高了學生學習的主動性、積極性、及時性、有效性和高效性。
1NET平臺優勢分析
1) 開發效率更高
ASP.NET 2.0提供了近80種服務器控件,包括導航控件、登錄控件、數據訪問控件等,可以幫助軟件開發者快速創建網站,提高開發效率。
2) 易于編寫,結構更清晰
ASP.NET采取“code-behind”方式編寫代碼,將程序代碼與用戶界面接口徹底分開,程序代碼是編譯過的,能大大縮短服務器的應答時間,同時采用B/S模式開發,整個系統的升級、維護工作只要在服務器端運行即可,降低了系統的開發與維護的復雜度和費用[2]。

3) 網站彈性與可擴展性好
ASP.NET 2.0使用Provider架構,例如數據訪問、角色管理、用戶管理等并不直接訪問數據庫,而是通過Provider來訪問數據庫。因此,當需要更改數據庫時,只要更換Provider即可,完全不需要修改任何代碼就可以順利轉換。
4) 先進的數據庫存取模式和更高的執行效率
ASP.NET通過ADO.NET實現對數據庫的訪問,ADO.NET使用DataAdapter對象為發送到和來自DataSet及底層數據源的數據建立通道。由于DataSet與原始數據源完全無關,因而可以實現斷開連接的數據訪問,提高了數據的執行效率[3]。ADO.NET支持數據離散訪問的編程接口,在設計時盡量縮短數據庫鎖定時間,減少多個用戶訪問數據庫服務器時的潛在競爭,使數據共享面向更多的訪問用戶,真正體現了Web網絡應用的思想[4]。
5) 容易進行再利用和共享
ASP.NET結構天然就是一個三層系統:UI層、業務邏輯層和數據層,給應用維護和升級帶來了極大的方便。ASP.NET系統結構如圖1所示。
UI層負責與用戶交互,接收用戶的輸入并將服務器端傳來的數據呈現給客戶。
業務邏輯層負責接收瀏覽器傳來的請求并將請求傳給數據層,同時將請求處理結果發給瀏覽器。它由Web表單、XML Web服務和組件服務組成。其中Web表單是ASP.NET應用程序的核心所在,是向客戶呈現數據和信息的基礎,也是響應和處理客戶與顯示的Web表單交互生成的信息和數據的基礎。
數據層是通過ADO.NET操縱數據為業務邏輯層提供數據服務,如存儲數據操作結果、返回數據檢索結果等。
因此基于ASP.NET技術的結構模型使得網站系統更易維護、更安全、更穩定。
2基于.NET構架的教學網站平臺設計
2.1網站平臺功能模塊設計
本系統的軟件功能模塊主要包括欄目管理、視頻管理、作業管理、在線測試、題庫管理、師生交流、畢業論文管理、用戶管理等功能,如圖2所示。
視頻管理模塊主要是發布和管理視頻教學信息,可以在線播放上傳的視頻文件,實現了信息與視頻教學的同步。并提供當前教學模塊的下載功能,如教學課件、教學視頻等。
作業管理模塊主要包括教師在網上發布作業,學生提交作業,教師查收作業等功能。
師生交流模塊為教師和學生提供了一個網上的討論園地,學生可以通過BBS中相應的版塊向老師提問,任何學生都可進行瀏覽或討論,提高了輔導答疑的效果和質量,發揮了學生自主學習的作用。

畢業論文管理模塊實現了教師出題、提出指導意見、修改論文、填寫評審表等管理功能;同時也實現了學生選題、寫作申請、開題報告、畢業論文(設計)上傳等一般功能。通過論文管理實現了信息的規范化、實用化和自動化管理。
題庫管理和在線測試模塊實現了試卷制定(隨機出題、人工出題)、試卷維護和在線網絡測試等功能,本模塊題型分為單選題、多選題、判斷題、填空題和問答題,改卷方式分為前臺自動評卷和試卷后臺評閱。因為單選、多選、判斷和填空題均可以通過與數據庫中的答案進行比較來判斷,而問答題的回答一般較復雜,不可能每個字都和數據庫中的答案相同,所以通過后臺試卷評閱功能把用戶輸入的內容一模一樣的顯示出來,實現人工評閱。同時本模塊增加考試時間限制功能,可以自行設置考試時間。
用戶管理子模塊主要用于對用戶的權限管理,系統分為三種用戶:管理員、教師和學生。管理員可以設定教師和學生有哪些權限。如教師可以進行作業管理,題庫模塊的維護及答疑等。學生可以查看信息、提交作業與論文、網上提問等功能。
本系統最具特色的功能是欄目管理,包括新建目錄、目錄下欄目的添加、修改與刪除、欄目內容的動態管理等。用戶只需要設計好網站的菜單欄目,通過新建目錄功能可以實現一級菜單,通過欄目添加功能可以將該級菜單下的欄目及其超文本內容動態添加到該菜單下。因此,實現了課程欄目和內容的動態管理與維護。
本系統具有良好的可擴展性和模塊性,可以方便地組合各個模塊,也可以增加更多的功能模塊。如圖3為利用本教學網站平臺動態生成的《Web程序設計—ASP.NET》課程網站,其左邊欄目和導航的超文本內容完全通過后臺的欄目管理功能動態添加獲得。
2.2動態導航技術的實現
動態導航技術的實現主要利用Visual Studio 2005的樹形導航控件TreeView來實現,TreeView控件由TreeNode對象的集合組成,其常用屬性如下表1所示。通過對樹型結構的遞歸調用將數據庫的信息顯示為動態樹形菜單,并能逐級展開和選擇,然后相應的在頁面右邊顯示被選擇的節點的超文本信息。
其實現的主要方法如下:
(1) 連接數據庫,利用SqlDataAdapter對象的Fill方法將數據庫中的數據讀到DataSet中。
(2) 通過遞歸算法調用綁定數據庫的信息,其遞歸調用方法主要代碼如下:
private void CreateChildNode(TreeNode parent Node,DataTable dataTable)
{//通過根據所屬類別不同分別動態的綁定至不同的資源類別信息樹結構中
DataRow[]rowList=dataTable. Select (\"ParentID='\" + parentNode.Value + \"'\");
foreach (DataRow row in rowList)
{TreeNode node = new TreeNode();//創建新節點
//設置節點的屬性
node.Text = row[\"ImgName\"]. ToString(); //顯示文本
node.Value = row[\"ImgID\"].ToString();
if (row[\"isDir\"].ToString() == \"True\") //判斷是否為父結點
{
node.Expanded = 1;
node.Target = \"_self\";
node.ImageUrl = \"~/Image/Dir. gif\";
}
else
{
node.Target = \"_blank\";
node.ImageUrl = \"~/Image/Picture. gif\";
}
node.ImageToolTip = row[\"ImgUrl\"]. ToString();
parentNode.ChildNodes.Add(node); //添加子節點
CreateChildNode(node,dataTable); //遞歸調用,創建其他節點
}
}
其參數為TreeNode對象和填充的數據表對象。
(3) 通過對數據庫數據的插入、修改、刪除來實現節點及其內容的動態添加、更新與刪除。
3結論
動態網站的模式將是未來課程網站的主要模式,也是精品課程網站建設的首選。本系統成功實現了如教學指南、課程導航、工學結合、實踐教學、視頻教學、在線測試、作業管理等教學網站具有的功能,并且該系統性能穩定、操作方便,具備了良好的可維護性、擴展性和可管理性。實踐證明,利用.NET技術開發教學網站平臺將有助于網絡教學走上一個實用、經濟、高速、高效的軌道,有助于提高教學效率和效益。
參考文獻
[1] 陳以海. 高校精品課程網站建設探索[J]. 中國教育信息化,2008,(1).
[2] 范振鈞. 基于ASP.net的三層結構實現方法研究[J]. 計算機科學,2007,4(34).
[3] 包空軍,劉海燕等. ASP.NET 電子商務系統設計與實現[J]. 福建電腦,2007,(2).
[4] 蔡秀莉,李偉華等. 構建基于.NET的高校院系級網上辦公系統[J]. 計算機工程與應用,2005,(27).