[摘要] ASP.NET的許多技術(shù)特征,使它更適合于開發(fā)大規(guī)模的、分布式Web應(yīng)用程序。本文通過網(wǎng)上購(gòu)物系統(tǒng)的開發(fā)論述了ASP.NET環(huán)境下電子商務(wù)網(wǎng)站的設(shè)計(jì)及實(shí)現(xiàn)。
[關(guān)鍵詞] ASP.NET Web應(yīng)用程序 電子商務(wù) 數(shù)據(jù)庫(kù)
一、前言
在互連網(wǎng)絡(luò)高速發(fā)展的今天,商務(wù)網(wǎng)站已成為目前Internet上廣泛使用的在線系統(tǒng)之一。為此我們?cè)O(shè)計(jì)了一個(gè)模擬購(gòu)物超市的網(wǎng)上購(gòu)物系統(tǒng),論述了ASP.NET技術(shù)在各方面的應(yīng)用。
二、ASP.NET技術(shù)簡(jiǎn)介
ASP.NET除了具有ASP的優(yōu)點(diǎn)外,更具有功能強(qiáng)大,ASP.NET徹底拋棄了腳本語(yǔ)言,而代之于編譯式語(yǔ)言(如VB、C#等),為開發(fā)者提供了更加強(qiáng)有力的編程資源;允許用服務(wù)器端控件取代傳統(tǒng)的HTML元素并充分支持事件驅(qū)動(dòng)機(jī)制,并為開發(fā)者提供了強(qiáng)力的集成開發(fā)工具Visual Studio.NET。
三、ASP.NET在網(wǎng)上購(gòu)物系統(tǒng)中的應(yīng)用
1.ASP.NET與ADO.NET結(jié)合訪問數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
在電子商務(wù)中,對(duì)用戶而言,進(jìn)行網(wǎng)上信息查詢的目的是尋找自己需要的產(chǎn)品或服務(wù)。因此,讓用戶通過瀏覽器查詢服務(wù)的后端數(shù)據(jù)是Web服務(wù)提供者必須提供的服務(wù)。本文對(duì)數(shù)據(jù)庫(kù)的訪問是通過.NET框架中包含的SQL Server專門提供程序來實(shí)現(xiàn)的。
ASP.NET與ADO.NET結(jié)合訪問數(shù)據(jù)庫(kù)的步驟如下:
(1)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接;
(2)請(qǐng)求一個(gè)記錄集合;
(3)把記錄集合暫存到DataSet;
(4)如果需要,返回第(2)步(DataSet 可以容納多個(gè)數(shù)據(jù)集合);
(5)關(guān)閉數(shù)據(jù)鏈路;
(6)在DataSet上作所需要的操作;
'創(chuàng)建對(duì)象SqlConnection
Dim Conn As New SqlConnection(\"server=localhost; DataBase=數(shù)據(jù)庫(kù)名; UID=連接數(shù)據(jù)庫(kù)時(shí)的用戶名;PWD=連接數(shù)據(jù)庫(kù)時(shí)的密碼\")
Dim adp As New SqlDataAdapter(\"select * from 要操作的數(shù)據(jù)表名\",conn) '建立適配器對(duì)象,請(qǐng)求一個(gè)記錄集合
Dim ds As New DataSet'建立DataSet對(duì)象
adp.Fill(ds, \"DataSet中相應(yīng)記錄集合的表名\") '填充DataSet,把記錄集合暫存到DataSet
……'具體數(shù)據(jù)庫(kù)操作代碼省略
Conn.Close()'關(guān)閉數(shù)據(jù)鏈路
Conn=Nothing'清除對(duì)象
2.注冊(cè)功能的實(shí)現(xiàn)
注冊(cè)使用戶的個(gè)人信息輸入數(shù)據(jù)庫(kù),并使用戶在購(gòu)物過程中通過個(gè)人的用戶名和密碼。注冊(cè)成功后,將設(shè)置一個(gè)Session變量來標(biāo)識(shí)此用戶已經(jīng)通過了注冊(cè),是合法的可購(gòu)物的用戶,如Session(“Flag”)=true。
3.用戶登錄的實(shí)現(xiàn)
曾經(jīng)注冊(cè)過的老用戶可以直接登錄網(wǎng)站進(jìn)行購(gòu)物。登錄時(shí)只需輸入用戶名與密碼,提交給服務(wù)器,服務(wù)器查詢客戶信息庫(kù),如無(wú)此用戶,將重定向到重新登錄界面。若身份合法,將標(biāo)識(shí)登錄成功,設(shè)置Session變量,Session(username)=用戶username,通過設(shè)置Session變量,用戶在各頁(yè)面跳轉(zhuǎn)時(shí),程序可通過Session來得到用戶信息。在缺省情況下,如果沒有用戶請(qǐng)求,服務(wù)器只保留Session20分鐘。同時(shí)也可設(shè)置Session的屬性Timeout來改變這一時(shí)間長(zhǎng)度,通過Session.Abandon也可強(qiáng)制銷毀Session,來注銷用戶。
4.商品的顯示
商品的顯示包括商品的圖片、商品的類別、商品的名稱、商品的詳細(xì)說明、商品的產(chǎn)地。而這些商品的信息都存放在后臺(tái)數(shù)據(jù)中“Product”數(shù)據(jù)表中。為了在數(shù)據(jù)庫(kù)中存儲(chǔ)圖片,可以把產(chǎn)品的圖片存儲(chǔ)在服務(wù)器上的一個(gè)固定目錄下,同時(shí),表內(nèi)字段的值填充為圖片的存儲(chǔ)路徑,這樣便完成了圖片的存儲(chǔ)與管理工作。由于要在頁(yè)面上顯示圖片,為了增強(qiáng)效果,所用的圖片格式都選擇為GIF型。商品顯示的具體實(shí)現(xiàn)是通過Repeater控件讀取后臺(tái)數(shù)據(jù)中“Product”數(shù)據(jù)表來實(shí)現(xiàn)的??梢越柚砀裥问剑谙鄳?yīng)單元格內(nèi),通過標(biāo)記,便可在相應(yīng)位置顯示圖片。同時(shí),顯示商品名稱時(shí),也可增加超鏈接到商品具體信息頁(yè)面,方法為:<%# DataBinder.Eval(Container.DataItem,\"proname\")%>
四、結(jié)束語(yǔ)
本文從軟件設(shè)計(jì)的角度探討了ASP.NET在電子商務(wù)網(wǎng)站建設(shè)實(shí)踐中的應(yīng)用,具有很好的實(shí)用價(jià)值。此方法也可推廣到其他大中小規(guī)模的連鎖銷售企業(yè)構(gòu)建電子商務(wù)系統(tǒng)。當(dāng)然本系統(tǒng)還有其不足,如還應(yīng)考慮Internet的安全問題、物流配送條件和用戶消費(fèi)信用等級(jí)、CA認(rèn)證等諸方面。
參考文獻(xiàn):
[1]唐微胡智勇錢君:ASP.NET在網(wǎng)站開發(fā)中的技術(shù)研究[J].遼寧科技學(xué)院學(xué)報(bào),2005,(02)
[2]譚明佳:基于ASP.NET的Web程序優(yōu)化分析[J].計(jì)算機(jī)與現(xiàn)代化, 2005,(03)
[3]黃穎謝忠:ASP.NET、SQLServer技術(shù)在動(dòng)態(tài)網(wǎng)站開發(fā)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2004,(35)
[4]應(yīng)毅毛宇光劉正濤:基于ADO.NET技術(shù)的Web訪問數(shù)據(jù)庫(kù)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2005,(04)