楊 巋 溫春艷
1華中農業大學現代教育技術中心,武漢 430070;2華中農業大學繼續教育學院,武漢 430070
基于ASP.NET技術的商務網站
——在線圖書銷售系統的設計
楊 巋1溫春艷2
1華中農業大學現代教育技術中心,武漢 430070;2華中農業大學繼續教育學院,武漢 430070
在當今電子商務時代,企業必須要有電子商務網站才能夠進行網上銷售,網上訂單處理,網上與客戶進行交流與溝通。要從事完整地電子商務活動,就必須構建電子商務網站,但由于各種平臺技術所需要的開發和維護成本都不一樣,因此就需要采用需求可擴展性和后期易維護性的解決方案。本文以此為基準設計了在線圖書銷售系統,作為電子商務網站的一個案例。
在線圖書;銷售系統;電子商務;網站設計
從貿易活動角度分析,電子商務可在多個環節實現,由此也可將電子商務分為兩個層次。初級層次的電子商務即較低層次的電子商務包括電子商情、電子貿易、電子合同等;而最完整的即最高級的電子商務則應是利用Internet網絡能夠進行全部的貿易活動:從尋找客戶開始,到洽談、訂貨、在線收付款、開具電子發票,一直到電子報關、電子納稅等所有的程序全部都通過Internet一步到位。目前,我國大多數企業還處在電子商務的初級階段,甚至包括一些規模較大的企業。本文綜合對比CGI、ASP、PHP和JSP、ASP.NET這幾種動態網站編程技術的優缺點,并結合具體需求和成本等方面的考慮,最終決定以ASP.NET技術為藍本、C#為實現技術、Access 為數據存儲管理系統、VS.NET 2005和Adobe Dreamweaver CS4為開發工具,來打造一個電子商務應用案例-在線圖書銷售系統。
1.電子商務網站技術分析
在傳統靜態Web體系中,傳遞的文檔可以是文本、超鏈接和格式化標簽等。它不包含任何動態內容,也不包含用戶與之交互的方式。在這種結構中,HTML文檔是Web開發人員預先設定好的,它不向客戶端提供交互。
而ASP.NET是微軟公司提供的開發動態網頁的技術。ASP.NET相對于ASP是一個革命性的創新。從運行機制上來說,ASP屬于一種解釋型編程框架,它的核心是VBScript和JavaScript腳本語言,這兩種腳本語言決定了ASP先天不足,這兩種腳本語言無法像傳遞的編程語言那樣進行底層操作,所以有時不得不借助于其他語言編寫的組件。ASP.NET是一種編譯型的編程框架,它的核心是.NET Framework。它可以運用Visual Basic.NET 和C#等編程語言開發,這樣就不需要借助于其他組件來完成一些底層操作。在運行速度上,ASP.NET是先編譯后運行,也就是第一次請求時會進行編譯,之后的請求就可以在前面的編譯結果上直接運行;而ASP是解釋型腳本語言,每次請求都需要進行解釋。ASP.NET與ASP都是微軟公司推出的動態網頁技術,它與ASP一樣,是最好的運行平臺。
雖然近幾年來對于開源技術的呼聲比較響,各種領域大型的服務器對操作系統的考慮也多是首選Unix或者Linux ,但是在中小型網站服務器和pc系統的考慮上,至少在可遇見的未來,仍然會是 windows 獨霸天下的局面。綜合上述各方面的對比,我們不難看出無論是成本還是實現方式,在運行在windows平臺下ASP.NET還是明顯要優于其它相關技術,加上微軟平臺一向以易操作性著稱,因此本系統我選擇了使用ASP.NET來開發。
2. 電子商務網站建站前的系統分析
在進入項目開發的實際編碼之前,還有一些準備工作要做,也就是規劃工作,包括項目的系統分析和數據庫設計。
首先要做的就是,有必要對系統構造一個總體框架,“在線圖書銷售”系統具體頁面實現的功能描述如下。
1)主頁面。用戶可以在此頁面中查看系統導航菜單、會員登錄入口、各種圖書分類、新聞動態、熱點圖書、新書快遞和好書推薦等。
2)子頁面。在子頁面中以櫥窗形式顯示各類別下的圖書信息。
3)詳細頁面。在詳細頁面中,顯示用戶所選擇圖書的詳細信息。
4)后臺管理頁面。管理員需要登錄到管理頁面中來操作系統中的數據及用戶信息。
5)圖書類別管理。對圖書類別進入查看、添加、修改和刪除。
6)圖書管理。對圖書信息進行查看、添加、修改和刪除。
系統的執行過程為:從系統的后臺登錄,在管理菜單中首先添加圖書類別,在添加之后,就可以對此進行編輯和刪除,添加圖書信息,選擇圖書類別、圖書名稱、出版社、作者、圖書價格等。在添加圖書信息時,有是否推薦一項,如果選擇“是”,則該圖書會在首頁中的推薦模塊中顯示。添加信息后,還可以對其進行編輯和刪除,以及修改和刪除系統的新聞、評論和用戶等。在系統的前臺頁面分類顯示圖書信息。最終的在線商城系統結構如圖1所示。
1.基于Microsoft Access 2003的數據庫
表結構如下圖2所示。
1)管理員表admin。用來保存使用系統的管理員的用戶名和密碼等信息。
2)類別表category。用來保存圖書類別名稱。
3)用戶表member。用來保存系統中用戶的基礎信息。
4)評論表comment。用來保存訪問者對圖書發表的評論,同時保存了發表評論的內容、評論的圖書編號及評論的時間。
5)新聞表news。用于保存系統新聞動態模塊中的新聞信息。
6)圖書明細表tushumingxi。圖書明細表是系統中最重要、最復雜的數據表,它存儲了圖書各項基礎信息。
2.基于Microsoft Visual Studio 2005 的電子商務網站頁面功能實現
1)通用模塊的建立
在ASP.NET中有一個名為Web.Config的XML文件,其中存儲的為整個頁面中可以調用的一些應用程序配置或者是全局應用程序配置,添加如下代碼:


圖 1 系統結構圖

圖2 系統數據表E-R關系圖

修改為上述形式后,我們便可以使用下列語句創建一個Access 數據庫連接,在本項目中均使用這種方法,代碼如下:

經過對電子商務系統分析和數據庫的設計,可以很容易地發現一些可以抽象為類的功能。例如,可以將數據庫的連接、執行SQL語句并得到各種返回值等,生成一個數據庫類。雖然這些所有的功能,也可以在具體實現的Web窗體頁中直接實現,但使用類的封裝實現,更符合面向對象編程的思想,也更便于使用。
接下來,創建一個類并聲明編程時需要使用的變量,然后為數據庫類添加構造函數讓它在實例化時能自動創建下個連接。當默認的構造函數創建后雖然可以被不同程度地引用,但是無法指定自定義的數據庫連接,通用性就必然不是很好,此時就有必要再為DBCconnection類重載一個構造函數,讓其在實例化時指定連接字符串。當如上兩個構造函數都創建完成后,數據庫管理類DBConnection的通用性就已經很好了,但能夠看到此時還不具備真正與數據庫交互的功能,例如執行SQL語句,更新和返回指定的數據等,因此需要再添加一些類方法代碼以完善類。
2)功能模塊的實現
商城首頁(Default.aspx)
我們稱進入站點時第一個打開的頁面為首頁,在這個頁面中顯示了站點的重要信息及其他輔助信息的入口。制作的在線圖書商城的首頁Default.aspx的代碼如下:


由于首頁基本都是采用的ASP.NET的用戶控件構件的,因此與數據庫連接查詢,頁面邏輯的實現等等都封裝在各個單獨的用戶控件里面了,所以首頁的后臺代碼文件基本沒什么自定義的,全部是由創建頁面時由編輯器生成的。
會員登錄控件(mem_Login.ascx)
現在許多網站都提供了會員管理部分,甚至一般的網站也都有會員制度,只有注冊且登錄了的會員才能享受一些特殊的權利,如下載資源、發表文章等。本站也采用了這種會員管理方式,實現的方法是通過判斷 ASP.NET 中的 Session["username"]的值是否為空判斷是否已經登錄。
圖書分類(book_Categorys.ascx)
在圖書商城中存儲最多的就是關于圖書的信息,為了便于系統升級、維護及搜索,將圖書的類別單獨保存到一個數據表 category 中。在首頁面中的“圖書分類”模塊就是針對該表進行的。
文中詳細地給出了幾個主要模塊實現的關鍵代碼,綜合運用了DIV+CSS進行頁面布局,將數據庫連接方法做到重復利用,從數據庫中檢索到的數據進行動態綁定并且顯示到客戶端前臺,并使用站點地圖導航控件。當然,本文僅提供一個站點的制作與實現方法,希望以此起到拋磚引玉的作用,對一些想涉足電子商務網站者起到一點參考作用。
[1]劉莉,張思亮,楊金會,等.ASP.NET在電子商務網站中的應用[J].商場現代化.2008(6):541
[2]盧莉.基于ASP.NET電子商務網站構建技術[J].大眾科技.2006(1):78-79
[3]熊嘯.電子商務發展現狀及應對戰略研究[J].時代經貿.2008(7):81-82
10.3969/j.issn.1001-8972.2011.005.036
華中農業大學2009年度自主科技創新基金人文社科研究專項(2009YX017)資助
楊巋,男,1968-,碩士,高級工程師,研究方向:基于網絡的應用。