劉清濤 陳旭鋒 劉曉婷
摘 要 課程論壇模塊的開發旨在為學生與學生或學生與教師之間搭建一個交流互動的平臺,在學習或教學過程中提供一種提出問題、討論問題、解決問題的途徑。該模塊主要功能有:用戶(學生)瀏覽已發表帖子,回復帖子,發表新帖;管理員(教師)瀏覽所發布內容,回復帖子,刪除用戶所發表或回復的不當內容。
關鍵詞 機械CAD/CAM;課程論壇;Visual Studio;精品課程網站
中圖分類號:G642.3 文獻標識碼:B
文章編號:1671-489X(2018)02-0056-04
1 前言
精品課程網站建立的目的是充分利用計算機技術和互聯網方便快捷共享等優勢,實現網絡教學這一非傳統教學模式,提供一種有效的手段,引導學生自主學習,幫助學生理解學習的重點和難點,激發學生積極探索,提高學習的效率和質量,同時實現優質教學資源的網絡共享[1]。
學生在課程網絡學習過程中難免會遇到困難,如教學內容不易理解、習題疑惑等,很有必要提供一個平臺使學生之間或者師生之間能夠彼此討論交流,迅速及時地解決學習困惑。本文所提課程論壇模塊作為長安大學精品課程“機械CAD/CAM”網站建設的重要部分,采用瀏覽器/服務器(B/S)架構模式,基于ASP.NET開發環境和SQL Sever 2008數據庫,使用C#編程語言,在Visual Studio 2010開發環境下開發實現。
2 網站開發環境與相關技術
瀏覽器/服務器(B/S)架構模式 B/S結構即瀏覽器和服務器結構。B/S結構是隨著互聯網技術的不斷發展變化,由最初的C/S結構演化升級而成的一種新型架構模式。這種架構模式的突出優點是不必單獨開發安裝客戶端程序,其具有統一的客戶端程序即瀏覽器。簡單地說,就是用戶計算機上只要有瀏覽器,就可以訪問使用此應用程序,而不需要煩瑣地安裝其他專門的客戶端應用軟件。這種模式不僅可以簡化用戶電腦載荷,而且省去客戶端程序必要的維護升級的成本和工作量。B/S結構模式的實現原理是少部分事務邏輯在前端(Browser)實現,主要事務邏輯在服務器端(Server)實現,而用戶界面完全通過WWW瀏覽器實現。
ASP.NET開發技術 ASP.NET是一種用來創建Web應用程序的服務器端技術。在應用ASP.NET技術進行Web程序開發過程中,Web程序將呈現的用戶界面與開發程序的界面是相互分開的,即界面前置代碼后置的方式,使程序具有良好的可讀性,且界面設計更加清晰明了。使用ASP.NET技術開發Web程序,可以使用任何.NET兼容語言(如Visual
Basic、C#)編寫,如此也大大提高了其執行效率和跨語言的兼容性[2]。
SQL Sever 2008數據庫 使用數據庫的目的是使網站系統中對數據資料的查閱、刪除、增加以及修改等操作更加簡單方便,同時減少數據結構的冗余度,為節約數據存儲空間起到巨大作用[3]。SQL Sever 2008數據庫與其他數據庫管理系統相比,針對數據管理具有專業的智能管理工具,而且其引擎為關系型數據和結構化數據的安全性與可靠性提供了更高的保證。
C#編程語言 C#高級編程語言是微軟公司在之前VB、VC等高級編程語言的基礎上推出的一種新的編程語言,其在延續之前的語法結構的基礎上又創新性加入面向對象的特性,所以C#的入門相對容易,但對于面向對象的編程思想又有深入學習的必要。C#以.NET為支撐,在VS編程工具中包含大量的內置類庫文件,能夠方便地通過已有類創建對象,從而提高編程的效率和迅速地實現所需求功能。
Visual Studio 2010開發軟件 Visual Studio系列軟件是基于.NET環境對Windows平臺應用程序以及Web應用程序等進行開發的一款軟件。Visual Studio不僅包含有其他開發軟件所具有的編譯調試等功能,而且其新穎獨特的界面設計與組織使得編程開發過程變得更加簡單明了。在兼容性方面,Visual Studio開發軟件不僅支持Micro-soft SQL Server數據庫類型,而且支持IBMDB2和Oracle等其他數據庫類型,支持的編程語言類型包括C#、C++、VB等大多數主流的編程語言類型。
HTML與CSS HTML(HyperText MarkUp Language,超文本標記語言)是一種使用標記來描述文檔結構和表現形式的語言。HTML語言不需要在服務端編譯,該標記語言由瀏覽器進行解析,然后把結果顯示在網頁上。CSS(Cascading Style Sheets,層疊樣式表)用來定義元素的屬性,實現在一個頁面上不同元素間展現不同的樣式。對于HTML與CSS兩者之間的關系,如果說HTML是網頁的結構,CSS是網頁的樣式,那么結構就是蓋房子先要把結構建出來,然后用CSS來裝飾[4]。
3 主要功能的開發與實現
本系統模塊主要開發的功能有:用戶(學生)瀏覽已發表帖子,回復帖子,發表新帖,刪除回復或發表的內容;管理員(教師)瀏覽所發布內容,回復帖子,刪除用戶所發表或回復的不當內容。系統結構如圖1所示。
用戶模塊
1)用戶主頁。該主頁為管理員和用戶進入課程論壇的首個界面,如圖2所示。該頁面顯示帖子主題、發布人、回復人數、發布時間等信息以及發布新帖等按鈕。對于訪問該頁面的用戶想要繼續查看帖子內容或者發布新帖,首先必須是在登錄狀態,否則點擊鏈接或按鈕將彈出登錄窗口。檢查是否登錄部分程序如下:
if (Session[″username″] != null || Session[″password″] != null) //檢查用戶名密碼是否為空
{
Session[″zhuti″] = butt.Text;
Session[″u_name″] = llab.Text;
Session[″date″] = lbdate.Text;
Response.Redirect(″Information.aspx″); //跳到被點擊主題的頁面瀏覽帖子內容
}
else
{
Response.Write("");
//跳到登錄頁面
}
2)用戶回復/瀏覽帖子。當用戶點擊主題超鏈接后,顯示該主題帖子頁面,如圖3所示,用戶可以瀏覽帖子內容并且可以點擊評論按鈕進行帖子回復[5]。回復帖子部分關鍵程序如下:
SqlConnection conn2 = new SqlConnection(Configuration
Manager.ConnectionStrings[″conn2″].ConnectionString);
conn2.Open();
string sqlcmd2 = ″insert into [recontent] (re_username,re_content,re_date,id) values (′″ + Session[″username″] + ″′ ,′″ +
this.tbrecontent.Text + ″′,′″ + DateTime.Now + ″′,′″ + Session
[″id″] + ″′)″;
SqlCommand mycmd2 = new SqlCommand(sqlcmd2, conn2);
mycmd2.ExecuteNonQuery();
conn2.Close();
conn.Open();
int i = Convert .ToInt32 ( Session[″hf_nums″]);
string sqlcmd = ″update [usercontent] set hf_nums=′″ + ++i
+ ″′where id= ′″+Session [″id″]+″′ ″;
SqlCommand mycmd3 = new SqlCommand(sqlcmd, conn);
mycmd3.ExecuteNonQuery();
conn.Close();
Page.ClientScript.RegisterStartupScript(Page.GetType(), "alert", ""); //將評論人的用戶名、評論日期、評論內容等寫入數據庫,并且提示“回復成功!!!”
3)用戶發表帖子。當用戶點擊發表帖子按鈕后,顯示該發表帖子頁面,如圖4所示。發布人即所登錄的用戶名,用戶填寫主題、內容后點擊發表即可發表帖子。發表帖子部分關鍵程序如下:
StrInsert = ″insert into usercontent (username,content,date,
title) values(@username,@content,@date,@title)″; //插入數據信息
SqlCommand cmd = new SqlCommand(StrInsert, conn); //添加參數并且設置參數值
cmd.Parameters.Add(″@content″, SqlDbType.VarChar, 5000);
cmd.Parameters[″@content″].Value = this.Textconents.Text.ToString();
cmd.Parameters.Add(″@username″, SqlDbType.VarChar);
cmd.Parameters[″@username″].Value = this.Label1.Text.ToString();
cmd.Parameters.Add(″@date″, SqlDbType.DateTime, 50);
cmd.Parameters[″@date″].Value = DateTime.Now.ToString
();
cmd.Parameters.Add(″@title″, SqlDbType.VarChar, 50);
cmd.Parameters[″@title″].Value = this.TextBox1.Text.To
String(); //執行插入數據的操作
cmd.ExecuteNonQuery();
conn.Close();
ClientScript.RegisterStartupScript(this.GetType(), "ss", ""); //彈出發布成功窗口提示
管理員模塊
1)管理員主頁/刪除帖子。管理員首先是進入用戶首頁,然后點擊管理員登錄,如果管理員已在登錄狀態,那么頁面跳轉到管理員管理界面,如圖5所示。與用戶的主頁相比,最大的不同點就是管理員對所有已發表的帖子有刪除的權限。刪除部分關鍵程序如下。
①網頁程序:
2)管理員瀏覽帖子/刪除評論。管理員同樣可以像用戶一樣通過點擊主題超鏈接查看相關帖子內容。與用戶瀏覽界面的不同之處是管理員界面有刪除按鈕,如圖6所示,可以刪除用戶的評論內容。刪除評論內容的部分程序如下。 ①網頁程序: ②后臺程序: string cmdtext = ″delete from [recontent] where re_content= ′″ +Session [″lbrecontent″] .ToString() + ″′ and re_username =′″ + Session[″lbreuser″].ToString() + ″′ and re_date=′″ + Session [″lbdate″] + ″′″; //刪除該帖用戶評論內容命令字符串 SqlCommand sqlcmd = new SqlCommand(cmdtext, conn); sqlcmd.ExecuteNonQuery(); //執行刪除評論帖子內容命令 conn.Close(); ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('刪除成功!');window.location='manager_infor mation.aspx'", true); //彈窗提示刪除成功 3)管理員回復帖子。管理員與用戶相同,也具有回復帖子的權限,在瀏覽帖子內容時點擊評論按鈕,跳到評論文本框進行帖子回復。回復帖子部分程序與用戶回復的程序基本一致,在此不再贅述。 4 結語 本文基于Visual Studio 2010開發環境,通過C#編程語言,利用ASP.NET技術以及SQL Sever 2008數據庫的連接、查詢、更新、刪除等技術,開發機械CAD/CAM精品課程網站系統課程論壇模塊,實現用戶(學生)瀏覽已發表帖子、回復帖子、發表新帖的要求,以及管理員(教師)瀏覽所發布內容、回復帖子、刪除用戶所發表或回復的不當內容等功能,滿足師生交流討論的基本要求。 參考文獻 [1]柳禮泉,丁蕾.精品課程和國家精品課程建設研究綜述[J].大學教育科學,2010(5):34-37. [2]楊鯤鵬,孟凡琦,溫才燚.ASP.NET+SQL Sever動態網站開發從基礎到實踐[M].北京:電子工業出版社,2013:73-92. [3]明日科技.SQL Server從入門到精通[M].北京:清華大學出版社,2015:6-10. [4]王顯宇.移動通訊時代的網頁制作新標準:HTML5 CSS3[J].電腦知識與技術,2014(18):4147-4148. [5]國光友,王文利,余運英.網絡教育中學習論壇的設計與開發[J].河北大學學報:哲學社會科學版,2008(5):124-130.