第一篇:畢業(yè)論文_基于ASPNET的網(wǎng)站設(shè)計(jì)(含源文件)
(此文檔為word格式,下載后您可任意編輯修改!)
四川建筑職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)工程系
畢業(yè)設(shè)計(jì)(論文)
基于ASP.NET的網(wǎng)站設(shè)計(jì)
二零一三年六月
I
摘 要
當(dāng)今隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)上購(gòu)物變得越來(lái)越普遍,而且已成為許多人生活中不可缺少的一部分。在網(wǎng)上商城里,對(duì)于那些商家來(lái)說(shuō),相比開實(shí)體店,節(jié)約了大量的成本,并且宣傳、管理和經(jīng)營(yíng)都更便捷,比如網(wǎng)上銷售庫(kù)存壓力較小、經(jīng)營(yíng)成本低、經(jīng)營(yíng)規(guī)模不受場(chǎng)地限制等。對(duì)消費(fèi)者來(lái)講,足不出門就能輕松地獲得大量的商品信息,可以買到當(dāng)?shù)貨](méi)有的商品,訂貨不受時(shí)間、地點(diǎn)的限制。而網(wǎng)上購(gòu)物系統(tǒng)就如同建立在二者之間的溝通橋梁,將銷售與購(gòu)買緊緊相連,為商家和消費(fèi)者提供了集交流、溝通和交易于一體的良好平臺(tái)?,F(xiàn)在人們都希望網(wǎng)上購(gòu)物是便宜、快捷、安全的,這也跟網(wǎng)購(gòu)系統(tǒng)開發(fā)商提出了較高的要求,顯然,對(duì)于一個(gè)購(gòu)物網(wǎng)站而言,一款好的網(wǎng)上購(gòu)物系統(tǒng)是必不可少的。現(xiàn)在比較好的網(wǎng)上購(gòu)物系統(tǒng)通常都包括商品功能、訂單功能、會(huì)員功能、支付和配送功能、模板功能、文章功能、廣告功能、管理功能、統(tǒng)計(jì)分析功能、促銷功能、國(guó)際化功能、整合功能、系統(tǒng)功能、搜索引擎優(yōu)化功能,功能全不全,操作是否簡(jiǎn)易,安全性高還是低,視覺(jué)感好與差,是檢驗(yàn)購(gòu)物網(wǎng)站好不好的標(biāo)準(zhǔn)。功能越全,操作越簡(jiǎn)單,安全性越高,給人的視覺(jué)感越好,就越會(huì)受到商家和顧客的青睞。
此次本人畢業(yè)設(shè)計(jì)所做項(xiàng)目是模仿京東商城,用Visual Studio 2008編程,SQL Server 2005做數(shù)據(jù)庫(kù),由于時(shí)間和技術(shù)有限,所做項(xiàng)目?jī)H能實(shí)現(xiàn)顧客購(gòu)物的部分過(guò)程,在此深表遺憾。網(wǎng)站所涉過(guò)程從消費(fèi)者進(jìn)入網(wǎng)站首頁(yè)、注冊(cè)、登錄到瀏覽商品、加入購(gòu)物車,再到結(jié)算、選擇銀行,最后是查看訂單信息。在做這個(gè)項(xiàng)目的過(guò)程中,本人遇到了許多問(wèn)題,一些是通過(guò)自己在網(wǎng)上搜索解決的,還有是請(qǐng)教老師和同學(xué)解決的。這使我深深感受到自我的局限性。網(wǎng)絡(luò)為我們提供了巨大的資源空間,希望大家能好好利用,拓展自己的知識(shí),相信將來(lái)會(huì)用得著的。
關(guān)鍵詞:ASP.NET; 仿京東網(wǎng)站設(shè)計(jì); 畢業(yè)論文
目 錄
摘 要...............................................................................................................................I 目 錄..............................................................................................................................II
1.1 本論文的背景和意義.............................................................................................1 1.2 本論文的主要方法和研究進(jìn)展.............................................................................1 1.3 本論文的主要內(nèi)容.................................................................................................2 1.4 本論文的結(jié)構(gòu)安排.................................................................................................2 第2章 主要內(nèi)容.................................................................................................................3
2.1 系統(tǒng)需求分析.........................................................................................................3 2.2 系統(tǒng)設(shè)計(jì).................................................................................................................3 2.2.1 系統(tǒng)流程圖.........................................................................................................3 2.2.2 系統(tǒng)功能結(jié)構(gòu).....................................................................................................3 2.2.3 系統(tǒng)預(yù)覽.............................................................................................................4 2.2.4 數(shù)據(jù)庫(kù)設(shè)計(jì).........................................................................................................6
2.2.4.1 數(shù)據(jù)庫(kù)概要說(shuō)明.....................................................................................6 2.2.4.2 數(shù)據(jù)庫(kù)E-R圖分析.................................................................................7 2.2.4.3 數(shù)據(jù)表結(jié)構(gòu)...........................................................................................10 2.2.4.4 網(wǎng)站文件夾組織結(jié)構(gòu)...........................................................................12 2.3 注冊(cè)模塊功能介紹...............................................................................................13 2.4 商品瀏覽及加入購(gòu)物車.......................................................................................14 2.5 核對(duì)訂單...............................................................................................................16 2.6 查看訂單及其詳情...............................................................................................18 結(jié) 論.............................................................................................................................19 致 謝.............................................................................................................................21 附 錄 1 錯(cuò)誤收集...........................................................................................................22
第1章 緒 論
1.1 本論文的背景和意義
隨著Internet的發(fā)展和迅速普及,網(wǎng)上購(gòu)物這一新型購(gòu)物方式已逐漸被人們所接受,并逐漸改變甚至取代了傳統(tǒng)的購(gòu)物觀念。人么足不出戶就可以在網(wǎng)上瀏覽到全國(guó)各地的商品信息,方便快捷地搜索到自己所需要的商品,而安全在線支付和送貨上門服務(wù),是人們更加深切地體會(huì)到這一購(gòu)物方式的優(yōu)越性。
與此同時(shí),網(wǎng)上商城這種新的商業(yè)運(yùn)營(yíng)模式被越來(lái)越多的商家運(yùn)用到競(jìng)爭(zhēng)中,并得到了大多數(shù)顧客的認(rèn)可,這種基于瀏覽器、服務(wù)器實(shí)現(xiàn)的銷售方式已初具規(guī)模。一些電子商務(wù)網(wǎng)站的成立,從整體上降低了企業(yè)成本,加快了企業(yè)對(duì)市場(chǎng)的響應(yīng)速度,提高了企業(yè)的服務(wù)質(zhì)量和競(jìng)爭(zhēng)力。
京東網(wǎng)是國(guó)內(nèi)主要的購(gòu)物網(wǎng)站之一,也是中國(guó)電子商務(wù)領(lǐng)域最受消費(fèi)者歡迎和最具影響力的電子商務(wù)網(wǎng)站之一。相較于同類電子商務(wù)網(wǎng)站,360buy京東商城擁有更為豐富的商品種類,并憑借更具競(jìng)爭(zhēng)力的價(jià)格和逐漸完善的物流配送體系等各項(xiàng)優(yōu)勢(shì),贏得市場(chǎng)占有率多年穩(wěn)居行業(yè)首位的驕人成績(jī)。
此次畢業(yè)設(shè)計(jì)圍繞在京東商城購(gòu)物這一過(guò)程,用Visual Studio 2008作平臺(tái),ASP.NET技術(shù)開發(fā),實(shí)現(xiàn)了消費(fèi)者購(gòu)物的基本過(guò)程。本論文主要針對(duì)畢業(yè)設(shè)計(jì)所做項(xiàng)目(仿京東網(wǎng)站設(shè)計(jì))進(jìn)行探討和研究。寫此論文一方面有助于提高自己的寫作能力,培養(yǎng)自己綜合運(yùn)用、鞏固與擴(kuò)展所學(xué)的基礎(chǔ)理論和專業(yè)知識(shí),培養(yǎng)自己獨(dú)立分析、解決實(shí)際問(wèn)題的能力。另一方面,可以幫助教師提高教學(xué)質(zhì)量。再者,將此論文寫好并傳到網(wǎng)上,可以讓更多的人看到,幫助有的人查閱資料,了解軟件開發(fā),為社會(huì)創(chuàng)造價(jià)值。
1.2 本論文的主要方法和研究進(jìn)展
本論文是經(jīng)過(guò)實(shí)際的項(xiàng)目設(shè)計(jì)后得出的經(jīng)驗(yàn)總結(jié)和心得體會(huì),是對(duì)軟件開發(fā)的論述和探討,所以運(yùn)用的主要方法是實(shí)踐操作。通過(guò)實(shí)實(shí)在在的親身體驗(yàn),把自身在設(shè)計(jì)過(guò)程中遇到的問(wèn)題和解決方法做出總結(jié),將項(xiàng)目設(shè)計(jì)中運(yùn)用的技巧和好的方法做出了歸納。由于時(shí)間和技術(shù)有限,此項(xiàng)目設(shè)計(jì)僅能實(shí)現(xiàn)從消費(fèi)者注冊(cè)、登錄到
瀏覽商品、加入購(gòu)物車、核算,最后查看訂單及訂單詳情,而未能完整地將消費(fèi)者在京東購(gòu)物的過(guò)程實(shí)現(xiàn),對(duì)此深表遺憾。另外,本論文可能存在遺漏或錯(cuò)誤之處,還請(qǐng)廣大讀者批評(píng)指正。
1.3 本論文的主要內(nèi)容
本論文會(huì)針對(duì)項(xiàng)目主要部分做簡(jiǎn)單的介紹和分析。消費(fèi)者注冊(cè)會(huì)涉及到郵箱驗(yàn)證,登錄后要瀏覽商品,選中商品可以加入購(gòu)物車,對(duì)購(gòu)物車中的商品進(jìn)行核算,提交訂單之前需要核對(duì)訂單,提交訂單后會(huì)產(chǎn)生訂單,消費(fèi)者可以查看訂單及詳情。另外,對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)也會(huì)做簡(jiǎn)要的介紹。
1.4 本論文的結(jié)構(gòu)安排
第二章第一節(jié),對(duì)系統(tǒng)進(jìn)行需求分析。第二章第二節(jié),系統(tǒng)設(shè)計(jì)。
第二章第三節(jié),注冊(cè)模塊,重點(diǎn)介紹郵箱驗(yàn)證功能。第二章第四節(jié),商品瀏覽及加入購(gòu)物車。第二章第五節(jié),核對(duì)訂單。
第二章第六節(jié),查看訂單及其詳情。結(jié)論,對(duì)畢業(yè)設(shè)計(jì)做總結(jié)。
致謝,對(duì)在本次畢業(yè)設(shè)計(jì)過(guò)程中給予過(guò)幫助和支持的老師和同學(xué)表示感謝。參考文獻(xiàn),列出在本次畢業(yè)設(shè)計(jì)中所查閱的參考資料清單。附錄1,對(duì)網(wǎng)站開發(fā)過(guò)程中遇到的問(wèn)題和相應(yīng)的解決方案做出總結(jié)。
第2章 主要內(nèi)容
2.1 系統(tǒng)需求分析
隨著中國(guó)市場(chǎng)經(jīng)濟(jì)的日趨成熟,中國(guó)企業(yè)面對(duì)的競(jìng)爭(zhēng)壓力越來(lái)越大,企業(yè)想要生存,在提高企業(yè)內(nèi)部管理效率、充分利用企業(yè)內(nèi)部資源的基礎(chǔ)上,必須不斷擴(kuò)展銷售渠道、擴(kuò)大消費(fèi)群體,提高企業(yè)的競(jìng)爭(zhēng)力。隨著信息化時(shí)代的到來(lái),電子商務(wù)網(wǎng)站成為企業(yè)對(duì)外展示商品信息,從事商務(wù)活動(dòng)的窗口。如何建立企業(yè)的電子商務(wù)網(wǎng)站,如何把企業(yè)業(yè)務(wù)擴(kuò)展到Internet上,已成為企業(yè)普遍面臨的問(wèn)題。
2.2 系統(tǒng)設(shè)計(jì)
2.2.1 系統(tǒng)流程圖
仿京東購(gòu)物網(wǎng)站系統(tǒng)流程圖,如圖2-2-1-1。
圖2-2-1-1 仿京東購(gòu)物網(wǎng)站系統(tǒng)流程圖
2.2.2 系統(tǒng)功能結(jié)構(gòu)
仿京東購(gòu)物網(wǎng)站前臺(tái)管理系統(tǒng)功能設(shè)計(jì)如圖2-2-2-1。
圖2-2-2 網(wǎng)站系統(tǒng)結(jié)構(gòu)圖
2.2.3 系統(tǒng)預(yù)覽
仿京東購(gòu)物網(wǎng)站是由多個(gè)web頁(yè)面組成,下面僅列出幾個(gè)典型頁(yè)面。網(wǎng)站首頁(yè)如圖2-2-3-1所示,主要提供商品分類導(dǎo)航信息和搜索商品功能。
圖2-2-3-1 網(wǎng)站首頁(yè)
購(gòu)物車頁(yè)面如圖2-2-3-2所示,該頁(yè)面主要用來(lái)查看所購(gòu)商品,修改商品數(shù)量,刪除所購(gòu)商品。
圖2-2-3-2 購(gòu)物車頁(yè)面
核對(duì)訂單頁(yè)面如圖2-2-3-3所示,該頁(yè)面主要用來(lái)修改收貨人信息和支付及配送方式,展示商品清單。
圖2-2-3-3 核對(duì)訂單頁(yè)面
“我的訂單”頁(yè)面如圖2-2-3-4所示,該頁(yè)面主要用來(lái)展示用戶所有訂單的簡(jiǎn)略信息,并提供根據(jù)訂單日期、訂單狀態(tài)、商品編號(hào)等查詢訂單信息。點(diǎn)擊訂單號(hào)或查看,可以在另一個(gè)頁(yè)面查看該訂單詳細(xì)信息。
圖2-2-3-4 我的訂單頁(yè)面
訂單詳細(xì)頁(yè)如圖2-2-3-5所示,該頁(yè)面主要顯示訂單詳細(xì)信息。
圖2-2-3-5 訂單詳細(xì)頁(yè)面
2.2.4 數(shù)據(jù)庫(kù)設(shè)計(jì)
通過(guò)對(duì)網(wǎng)站進(jìn)行需求分析及網(wǎng)站系統(tǒng)流程的設(shè)計(jì),數(shù)據(jù)庫(kù)和對(duì)應(yīng)的實(shí)體E-R圖已初步定型,下面一一介紹。
2.2.4.1 數(shù)據(jù)庫(kù)概要說(shuō)明
圖 2-2-4-1-1為數(shù)據(jù)表樹形結(jié)構(gòu)圖,它包含了對(duì)系統(tǒng)中所有數(shù)據(jù)表的相關(guān)描述。
圖2-2-4-1-1 數(shù)據(jù)表樹形結(jié)構(gòu)
2.2.4.2 數(shù)據(jù)庫(kù)E-R圖分析
消費(fèi)者登錄信息E-R圖如圖2-2-4-2-1所示。
圖2-2-4-2-1 消費(fèi)者實(shí)體E-R圖
聯(lián)系人信息實(shí)體E-R圖如圖2-2-4-2-2所示。
圖2-2-4-2-2 消費(fèi)者實(shí)體E-R圖
地址信息實(shí)體E-R圖如圖2-2-4-2-3所示。
圖2-2-4-2-3 地址信息實(shí)體E-R圖
商品信息實(shí)體E-R圖如圖2-2-4-2-4所示。
圖2-2-4-2-4 商品信息實(shí)體E-R圖
購(gòu)物車信息實(shí)體E-R圖如圖2-2-4-2-5所示。
圖2-2-4-2-5 購(gòu)物車信息實(shí)體E-R圖
訂單信息實(shí)體E-R圖如圖2-2-4-2-6所示。
圖2-2-4-2-6 訂單信息實(shí)體E-R圖
訂單狀態(tài)實(shí)體E-R圖如圖2-2-4-2-7所示。
圖2-2-4-2-7 訂單狀態(tài)實(shí)體E-R圖
2.2.4.3 數(shù)據(jù)表結(jié)構(gòu)
在設(shè)計(jì)完數(shù)據(jù)庫(kù)實(shí)體E-R圖之后,下面將根據(jù)實(shí)體E-R圖設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)。?tb_User(消費(fèi)者登錄信息表)。
消費(fèi)者信息表主要存儲(chǔ)消費(fèi)者登錄所需信息。數(shù)據(jù)表結(jié)構(gòu)如圖2-2-4-3-1所示。
圖2-2-4-3-1 消費(fèi)者登錄信息表數(shù)據(jù)結(jié)構(gòu)
?tb_ConsigneeInfo(聯(lián)系人信息表)聯(lián)系人信息表主要存儲(chǔ)消費(fèi)者信息,商家才好根據(jù)這些信息配送貨物。數(shù)據(jù)表結(jié)構(gòu)如圖2-2-4-3-2所示。
圖2-2-4-3-2 聯(lián)系人信息表數(shù)據(jù)結(jié)構(gòu)
?tb_Address(地址信息表)地址信息表主要存儲(chǔ)地址,消費(fèi)者在核對(duì)訂單時(shí)會(huì)選擇收貨地址,會(huì)用到它。
數(shù)據(jù)表結(jié)構(gòu)如圖2-2-4-3-3所示。
圖2-2-4-3-3 地址信息表數(shù)據(jù)結(jié)構(gòu)
?tb_Goods(商品信息表)商品信息表用來(lái)存儲(chǔ)商品信息,如商品編號(hào)、名稱、價(jià)格等,數(shù)據(jù)表結(jié)構(gòu)如圖2-2-4-3-4所示。
圖2-2-4-3-4 商品信息數(shù)據(jù)表結(jié)構(gòu)
?tb_ShoppingCart(購(gòu)物車信息表)購(gòu)物車信息表主要用來(lái)存儲(chǔ)商品信息和訂單信息,數(shù)據(jù)表結(jié)構(gòu)如圖2-2-4-3-5所示。
圖2-2-4-3-5 購(gòu)物車信息數(shù)據(jù)表結(jié)構(gòu)
?tb_OrderInfo(訂單信息表)訂單信息表主要用來(lái)存儲(chǔ)訂單信息,數(shù)據(jù)表結(jié)構(gòu)如圖2-2-4-3-6所示。
圖2-2-4-3-6 訂單信息數(shù)據(jù)表結(jié)構(gòu)
?tb_OrderState(訂單狀態(tài)表)訂單狀態(tài)表主要用來(lái)存儲(chǔ)訂單狀態(tài),數(shù)據(jù)表結(jié)構(gòu)如圖2-2-4-3-7所示。
圖2-2-4-3-7 訂單狀態(tài)數(shù)據(jù)表結(jié)構(gòu)
2.2.4.4 網(wǎng)站文件夾組織結(jié)構(gòu)
網(wǎng)站文件夾組織結(jié)構(gòu)圖如圖2-2-4-4-1所示。
圖2-2-4-4-1 網(wǎng)站文件夾組織結(jié)構(gòu)
2.3 注冊(cè)模塊功能介紹
一個(gè)購(gòu)物網(wǎng)站沒(méi)有注冊(cè)功能是不行的,只有注冊(cè)賬號(hào)過(guò)后才可以登錄,進(jìn)而進(jìn)行購(gòu)物。下面圖2-3-1是筆者仿京東做的注冊(cè)頁(yè)面,前臺(tái)頁(yè)面大部分代碼來(lái)自京東原代碼,只有后臺(tái)是筆者自己寫的。
圖2-3-1 注冊(cè)頁(yè)面
前臺(tái)頁(yè)面引入了些js文件,這些文件的功能基本上在這里體現(xiàn)在對(duì)用戶輸入的郵箱、密碼、驗(yàn)證碼的合法性的驗(yàn)證。.cs代碼中有一個(gè)郵箱驗(yàn)證功能,在筆者看來(lái)是一個(gè)重難點(diǎn)。郵箱驗(yàn)證功能包括發(fā)送郵件前的驗(yàn)證,發(fā)送郵件和激活賬戶三個(gè)步驟,而發(fā)送郵件又是這里的重難點(diǎn)。
下面是這個(gè)頁(yè)面的重點(diǎn)代碼:
MailMessage m = new MailMessage();建立郵件發(fā)送對(duì)象 m.From = new MailAddress(FROM);獲取發(fā)件人地址 m.To.Add(TO);獲取收件人地址
m.Subject = SUBJECT;獲取此電子郵件的主題 m.Body = BODY;獲取郵件正文
m.BodyEncoding = System.Text.Encoding.UTF8;設(shè)置郵件正文的編碼 m.IsBodyHtml = bIsHtml;設(shè)置郵件正文是否為HTML格式 m.ReplyTo = new MailAddress(FROM);設(shè)置郵件的回復(fù)地址
SmtpClient smtp = new SmtpClient(“smtp.163”, 25);初始化郵件傳輸協(xié)議 smtp.Credentials
=
new
NetworkCredential(“***”, “wangjing911214++”);用指定的用戶名和密碼作為用于驗(yàn)證發(fā)件人身份的憑據(jù)
smtp.EnableSsl = true;smtp.Send(m);發(fā)送郵件
2.4 商品瀏覽及加入購(gòu)物車
當(dāng)?shù)卿浀挠脩粼谑醉?yè)搜索欄里輸入包含“手機(jī)”的關(guān)鍵詞后,就會(huì)跳轉(zhuǎn)到手機(jī)展示界面。在手機(jī)展示界面點(diǎn)擊一個(gè)手機(jī)圖標(biāo),通過(guò)頁(yè)面?zhèn)鲄?,將該手機(jī)的“商品編號(hào)”傳到ProductDisplay.aspx頁(yè)面,在ProductDisplay.aspx頁(yè)面根據(jù)獲取到的參數(shù)進(jìn)行產(chǎn)品信息查詢,然后將該產(chǎn)品有關(guān)信息顯示在頁(yè)面上。商品信息顯示如圖2-4-1所示。
圖2-4-1 商品信息
在ProductDisplay.aspx頁(yè)面輸入購(gòu)買數(shù)量,點(diǎn)擊“加入購(gòu)物車”按鈕,會(huì)跳轉(zhuǎn)到AddToCart.aspx頁(yè)面,在這個(gè)頁(yè)面,用戶可以點(diǎn)擊“繼續(xù)購(gòu)物”按鈕,回到ProductDisplay.aspx頁(yè)面,也可以點(diǎn)擊“去結(jié)算”按鈕,跳轉(zhuǎn)到MyShoppingCart.aspx頁(yè)面,如圖2-4-2所示。
圖2-4-2 購(gòu)物車頁(yè)面
在上圖中,筆者在頁(yè)面上加了一個(gè)GridView控件,用來(lái)顯示已經(jīng)加入購(gòu)物車但未提交訂單的商品信息,包括商品圖片、名稱、單價(jià)、數(shù)量和總價(jià)。另外,消費(fèi)者可以對(duì)單個(gè)商品進(jìn)行數(shù)量的修改,如果不想要,可以直接點(diǎn)擊“刪除”。刪除操作也可以通過(guò)勾選復(fù)選框,點(diǎn)擊“刪除選中的商品”進(jìn)行刪除操作??梢栽谏蠄D中看到“-”、“+”、“刪除”按鈕,它們都是放在GridView控件的模板列里的,點(diǎn)擊它們產(chǎn)生相應(yīng)效果是通過(guò)觸發(fā)RowCommand事件實(shí)現(xiàn)的。在此事件里,用到了下面的代碼
:
GridViewRow
gvr
=(GridViewRow)(((Button)emandSource).NamingContainer);該代碼用來(lái)初始化點(diǎn)擊控件所在的數(shù)據(jù)行
int index = gvr.RowIndex;這句話用來(lái)獲取控件所在行的行索引值 string cardId = GridView1.Rows[index].Cells[0].Text.Trim();獲取點(diǎn)擊的btnReduce控件所在行的第一列的文本,第一列就是購(gòu)物車編號(hào),接下來(lái)就可以根據(jù)購(gòu)物車編號(hào)查詢購(gòu)物車信息,刪除一條記錄,修改商品數(shù)量等。
該頁(yè)面重要代碼如下:
Label lblText = e.Row.Cells[1].FindControl(“l(fā)blGoodsId”)as Label;string goodsidString = lblText.Text;string strSelect = “select * from tb_Goods where GoodsId='” + Convert.ToInt32(goodsidString)+ “'”;根據(jù)商品編號(hào)查詢商品信息 SqlConnection conn = operate.getcon();建立數(shù)據(jù)庫(kù)連接對(duì)象
SqlCommand scd = new SqlCommand(strSelect, conn);建立數(shù)據(jù)庫(kù)命令對(duì)象 conn.Open();打開數(shù)據(jù)庫(kù)連接
SqlDataReader sdr = scd.ExecuteReader();建立數(shù)據(jù)讀取器對(duì)象 sdr.Read();讀取數(shù)據(jù)
string img = @“..Images”;設(shè)置圖片路徑
Image imagGoods = e.Row.Cells[1].FindControl(“imgGoods”)as Image;imagGoods.ImageUrl = img + sdr[“Photos”].ToString();獲取圖片位置
lblText.Text = sdr[“GoodsName”].ToString();將第一列的Lable控件的文本值改為對(duì)應(yīng)的商品名稱
e.Row.Cells[2].Text = “¥” + sdr[“Price”].ToString();
e.Row.Cells[4].Text = “¥” + e.Row.Cells[4].Text;sdr.Close();關(guān)閉數(shù)據(jù)讀取器 conn.Close();關(guān)閉數(shù)據(jù)庫(kù)連接 設(shè)置鼠標(biāo)懸停行的顏色
e.Row.Attributes.Add(“onMouseOver”, “Color=this.style.backgroundColor;this.style.backgroundColor='lightBlue'”);e.Row.Attributes.Add(“onMouseOut”, “this.style.backgroundColor=Color;”);2.5 核對(duì)訂單
點(diǎn)擊上圖2-4-2所示頁(yè)面中的“去結(jié)算”按鈕,會(huì)跳轉(zhuǎn)到CheckOrder.aspx頁(yè)面,如圖2-5-1所示。
圖2-5-1 核對(duì)訂單信息
在圖2-5-1所示頁(yè)面可以修改收貨人信息、支付及配送方式。這個(gè)頁(yè)面最麻煩的是控制div的顯示與隱藏,筆者不僅在前臺(tái)頁(yè)面加了控制顯示與隱藏的jQuery代碼,在后臺(tái)頁(yè)用c#代碼也進(jìn)行了控制,最終才勉強(qiáng)達(dá)到理想的效果。這個(gè)頁(yè)面有個(gè)供用戶選擇的“所在地區(qū)”,用到了三個(gè)DropDownList控件,第一個(gè)顯示省份,第二個(gè)顯示市,第三個(gè)顯示區(qū)(縣),這個(gè)最重要的是控制DropDownList的SelectedIndexChanged事件。因?yàn)楫?dāng)選中第一個(gè)下拉框中的某項(xiàng)時(shí),需要根據(jù)這一
項(xiàng)綁定第二個(gè)下拉框中顯示的內(nèi)容,第三個(gè)下拉框中內(nèi)容又要根據(jù)第二個(gè)下拉框選中的內(nèi)容來(lái)綁定。
該頁(yè)面重要代碼如下所示:
Label lblgoodsText = e.Row.Cells[1].FindControl(“l(fā)blGoodsId”)as Label;初始化第一列ID為lblGoodsId的控件
string goodsId = lblgoodsText.Text;獲取商品編號(hào)
string strSelectGoods = “select * from tb_Goods where GoodsId='” + Convert.ToInt32(goodsId)+ “'”;根據(jù)商品編號(hào)查詢商品信息 SqlConnection conn = operate.getcon();建立數(shù)據(jù)庫(kù)連接對(duì)象
SqlCommand scd = new SqlCommand(strSelectGoods, conn);建立數(shù)據(jù)庫(kù)命令對(duì)象
conn.Open();打開數(shù)據(jù)庫(kù)連接
SqlDataReader sdr = scd.ExecuteReader();建立數(shù)據(jù)讀取器對(duì)象 sdr.Read();讀取數(shù)據(jù)
Image imgPhone = e.Row.Cells[1].FindControl(“Image26”)as Image;在第一列中查詢ID為Image26的控件
imgPhone.ImageUrl = @“..Images” + sdr[“Photos”].ToString();設(shè)置圖片的路徑 lblgoodsText.Text = sdr[“GoodsName”].ToString();顯示商品名稱
e.Row.Cells[5].Text = sdr[“StoreState”].ToString();將每件商品對(duì)應(yīng)的庫(kù)存狀態(tài)顯示出來(lái)
e.Row.Cells[2].Text = “¥” + sdr[“Price”].ToString();顯示商品單價(jià) sdr.Close();關(guān)閉數(shù)據(jù)讀取器
string strgoodnum = “select * from tb_ShoppingCart where ShoppingCartId='” + Convert.ToInt32(e.Row.Cells[0].Text)+ “'”;根據(jù)購(gòu)物車編號(hào)查詢購(gòu)物車信息 SqlCommand scd2 = new SqlCommand(strgoodnum, conn);建立數(shù)據(jù)庫(kù)命令對(duì)象
SqlDataReader sdr2 = scd2.ExecuteReader();建立數(shù)據(jù)讀取器對(duì)象 sdr2.Read();讀取數(shù)據(jù)
e.Row.Cells[4].Text = “x” + sdr2[“GoodsNumber”].ToString();設(shè)置第4列的值
sdr2.Close();關(guān)閉數(shù)據(jù)讀取器 conn.Close();關(guān)閉數(shù)據(jù)庫(kù)連接
2.6 查看訂單及其詳情
當(dāng)提交訂單后,就可以查看“我的訂單”?!拔业挠唵巍表?yè)面如圖2-6-1所示。此頁(yè)面可供消費(fèi)者根據(jù)所選條件篩選訂單信息,也可以點(diǎn)擊“訂單號(hào)”或“查看”跳轉(zhuǎn)到另外個(gè)頁(yè)面查看訂單詳情。
圖2-6-1 訂單頁(yè)
在圖2-6-1所示的頁(yè)面中,比較麻煩點(diǎn)的就是篩選查看功能。篩選可根據(jù)訂單時(shí)間、訂單狀態(tài)、商品名稱、商品編號(hào)或訂單編號(hào)進(jìn)行。這里面挺麻煩的是根據(jù)商品編號(hào)或商品名稱進(jìn)行查詢。因?yàn)橛唵伪聿⑽窗唐肪幪?hào)或商品名稱,而只能通過(guò)購(gòu)物車表進(jìn)行查詢。另外一個(gè)難點(diǎn)是,在根據(jù)商品編號(hào)或商品名稱進(jìn)行查詢時(shí),要考慮到一件商品可能存在于一條訂單中,也可能存在于多條訂單中,不同的情況,查詢語(yǔ)句也會(huì)有差異。
點(diǎn)擊任意一條記錄的訂單號(hào)或“查看”,都會(huì)跳轉(zhuǎn)到OrderDetail.aspx頁(yè)面,如圖2-6-2所示。
圖2-6-2 訂單詳細(xì)頁(yè)
訂單詳細(xì)頁(yè)主要顯示收貨人信息、支付及配送方式、發(fā)票信息、商品清單等信息。該頁(yè)面簡(jiǎn)單明了且美觀,離不開div+css布局,層與層的嵌套稍不注意就會(huì)讓頁(yè)面失去想要達(dá)到的效果。
結(jié) 論
本次畢業(yè)設(shè)計(jì)共花時(shí)間近七周,在筆者的努力下,在老師和同學(xué)的幫助下,筆者的“仿京東購(gòu)物網(wǎng)站”能實(shí)現(xiàn)消費(fèi)者購(gòu)物的基本流程。主要流程是用戶注冊(cè)、登錄、瀏覽商品、加入購(gòu)物車、核對(duì)訂單、查看訂單和訂單詳情。其中花時(shí)間最多的是核對(duì)訂單,因?yàn)檫@個(gè)頁(yè)面需要控制層的顯示與隱藏,而本人能力有限,費(fèi)了九牛二虎之力才基本達(dá)到京東上原有的效果。
在人生做學(xué)生的最后一段時(shí)間,能有效利用起來(lái)是很有意義的。做畢業(yè)設(shè)計(jì)作為高校畢業(yè)生必不可少的學(xué)習(xí)環(huán)節(jié),是有它的獨(dú)到之處的。第一,通過(guò)自主學(xué)習(xí)和尋求幫助,它可以使人的專業(yè)知識(shí)水平與分析和解決問(wèn)題的能力得到快速提升;其二,堅(jiān)持做能鍛煉人的意志力;其三,在不斷的碰到問(wèn)題然后解決問(wèn)題的循環(huán)過(guò)程中可以嘗到失敗的無(wú)奈和成功帶來(lái)的喜悅;其四,各方面能力的提升會(huì)為畢業(yè)生就業(yè)甚至未來(lái)的發(fā)展起到重要促進(jìn)作用;其五,畢業(yè)設(shè)計(jì)交到老師那里可以為老師提供改進(jìn)教學(xué)的素材;其六,把畢業(yè)設(shè)計(jì)項(xiàng)目和論文傳到互聯(lián)網(wǎng)上,可以給更多的愛(ài)好者或?qū)I(yè)人士提供解決問(wèn)題的素材和資料,讓更多的人學(xué)得更多的東西,從而促
進(jìn)社會(huì)和人類文明的發(fā)展?!皶接新非跒閺?,學(xué)海無(wú)涯苦作舟”,學(xué)習(xí)應(yīng)該說(shuō)主要靠自己,靠自己的勤奮?!盎畹嚼希瑢W(xué)到老,還有三分沒(méi)學(xué)到”,要想學(xué)精一樣?xùn)|西,不是三兩天就能擺平的,而是需要通過(guò)自己長(zhǎng)期的刻苦努力才能達(dá)到,所以,不管現(xiàn)在還是以后,都應(yīng)該樹立學(xué)習(xí)的意識(shí),要踏實(shí)認(rèn)真地學(xué),堅(jiān)持學(xué),才能學(xué)到真本事、真功夫。
我國(guó)現(xiàn)在正處在社會(huì)主義發(fā)展的初級(jí)階段,也正以矯健的步伐朝著全面小康奮進(jìn),其間充滿競(jìng)爭(zhēng)和挑戰(zhàn),剛步入社會(huì)的我們面對(duì)的壓力可能很大,但是,我們不能悲觀,而要將壓力轉(zhuǎn)換為動(dòng)力,努力為自己創(chuàng)造機(jī)遇,使自己盡可能快地融入社會(huì),成為社會(huì)人。
今后不管自己發(fā)展如何,都不應(yīng)該忘了曾經(jīng)幫助過(guò)我們、支持過(guò)我們的人,要懂得回報(bào),尤其是我們的祖國(guó),我們應(yīng)該為祖國(guó)的發(fā)展貢獻(xiàn)自己的青春!
致 謝
在做畢業(yè)設(shè)計(jì)的過(guò)程中,筆者遇到了不少問(wèn)題,大多數(shù)是通過(guò)自己思考或查閱資料解決的,但有部分是通過(guò)請(qǐng)教老師和同學(xué)才得以解決的,真心感謝這些老師和同學(xué),他們的幫助給我?guī)?lái)了喜悅,給予我信心,讓我較順利地完成了畢業(yè)設(shè)計(jì)。在這里要特別感謝我們的指導(dǎo)老師史紅軍老師和宋全記老師,他們從開始到結(jié)束就一直關(guān)心我們,指導(dǎo)我們,盡職盡責(zé),給予了我們莫大的幫助。也感謝從北軟來(lái)的舒楊老師和郭海林老師,他們遠(yuǎn)道而來(lái)給我們提供了技術(shù)上的幫助。
希望畢業(yè)后還有機(jī)會(huì)見(jiàn)到這些老師和同學(xué),最后祝愿各位老師工作順利、身體健康,祝愿各位同學(xué)前程似錦、生活愉快!
附 錄 1 錯(cuò)誤收集
錯(cuò)誤1:您正在查找的資源(或者它的一個(gè)依賴)可能已被刪除,或其名稱已更改,或暫時(shí)不可用,請(qǐng)檢查以下URL并確保其拼寫正確,如圖1-1所示。
圖1-1 錯(cuò)誤1 下面是解決方法,如圖1-2所示。
圖1-2 錯(cuò)誤1的解決方法
錯(cuò)誤2:某某附近有語(yǔ)法錯(cuò)誤,如圖1-3所示。
圖1-3 錯(cuò)誤2及解決方法
錯(cuò)誤3:要求已打開且可用的連接。連接的當(dāng)前狀態(tài)為已關(guān)閉,錯(cuò)誤如圖1-4和1-7所示。
圖1-4 連接狀態(tài)出錯(cuò)
分析結(jié)果如圖1-5所示。
圖1-5 錯(cuò)誤3的分析結(jié)果
對(duì)錯(cuò)誤3做修改,如圖1-6所示。
圖1-6 錯(cuò)誤3修改后的展示
圖1-7 連接狀態(tài)錯(cuò)誤及解決方法
錯(cuò)誤4:連接嘗試失敗,如圖1-8所示。
圖1-8 連接嘗試失敗錯(cuò)誤
錯(cuò)誤5:必須放在具有runat=server的窗體標(biāo)記內(nèi),如圖1-9所示。
圖1-9 錯(cuò)誤5 解決方法:把你的代碼放在