網(wǎng)上商城購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
已閱讀1頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  畢 業(yè) 設(shè) 計(jì)(論 文)</p><p>  題   目 Market網(wǎng)上商城購(gòu)物系統(tǒng)</p><p>  并列英文題 Market Online Sales System</p><p><b>  摘要 </b></p><p>  隨著21世紀(jì)的到來(lái),信息化時(shí)代已經(jīng)向我們走來(lái),這個(gè)時(shí)代的最重要

2、的標(biāo)志就是計(jì)算機(jī)的廣泛應(yīng)用。如今社會(huì)上計(jì)算機(jī)應(yīng)用已經(jīng)達(dá)到非常普及的程度,隨處都可以見(jiàn)到計(jì)算機(jī)的身影。我們也熟悉了在社會(huì)各處遇見(jiàn)它們的環(huán)境,家庭娛樂(lè),學(xué)校的機(jī)房,金融場(chǎng)所,以及到處可見(jiàn)的網(wǎng)吧,計(jì)算機(jī)如水銀般無(wú)孔不入。</p><p>  近年來(lái),隨著網(wǎng)絡(luò)技術(shù)和Internet的迅速發(fā)展,基于Browser/Server結(jié)構(gòu)的Web應(yīng)用,因其具有易用性、通用性和良好的可擴(kuò)展性等優(yōu)點(diǎn)而發(fā)展迅速,正逐漸成為實(shí)現(xiàn)企業(yè)管理信

3、息系統(tǒng)的主流技術(shù)。而開(kāi)發(fā)一個(gè)Web應(yīng)用系統(tǒng)是一項(xiàng)浩大的工程,要求設(shè)計(jì)者能夠提出合理的系統(tǒng)架構(gòu)。合理的系統(tǒng)架構(gòu)可以減少開(kāi)發(fā)及維護(hù)系統(tǒng)所用的資源,提升工作效率。因此,在Web企業(yè)級(jí)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程中,設(shè)計(jì)模式的選定和應(yīng)用系統(tǒng)架構(gòu)的設(shè)計(jì)是一個(gè)重要環(huán)節(jié)。</p><p>  本系統(tǒng)運(yùn)用平時(shí)所學(xué)ASP.NET一些基本技術(shù),自定義控件,ADO.NET技術(shù),實(shí)現(xiàn)了market網(wǎng)上購(gòu)物商城的前臺(tái)頁(yè)面瀏覽,用戶注冊(cè)登錄,用戶下訂單

4、購(gòu)物,購(gòu)物車(chē),后臺(tái)的用戶、物流、訂單等管理的功能。達(dá)到了畢業(yè)設(shè)計(jì)的要求,同時(shí)鍛煉了自己的動(dòng)手能力。</p><p>  Abstract With the advent of the 21st century, information age has come to us, this era is the most important symbol of the extensive application of

5、 computers. Now the community has reached a very popular computer application degree, the computer can be seen everywhere on the scene. We are also familiar encounter them everywhere in the social environment, family ent

6、ertainment, school room, financial sites, and Internet cafes are everywhere, as all-pervasive computer such as mercury. In recent y</p><p><b>  朗讀</b></p><p>  顯示對(duì)應(yīng)的拉丁字符的拼音</p>

7、;<p><b>  字典</b></p><p>  ©2010商務(wù)工具譯者工具包關(guān)于 Google 翻譯博客隱私權(quán)政策幫助</p><p><b>  目錄</b></p><p>  第一章 我國(guó)電子商務(wù)的現(xiàn)狀和發(fā)展前景- 1 -</p><p>  第二章 系統(tǒng)需求

8、分析- 5 -</p><p>  2.1 系統(tǒng)功能需求- 5 -</p><p>  2.2 系統(tǒng)設(shè)計(jì)思路- 6 -</p><p>  2.2.1 功能設(shè)計(jì)- 6 -</p><p>  2.2.2 結(jié)構(gòu)設(shè)計(jì)- 7 -</p><p>  第三章 數(shù)據(jù)庫(kù)設(shè)計(jì)- 9 -</p><p&

9、gt;  3.1 數(shù)據(jù)庫(kù)各表關(guān)系圖- 9 -</p><p>  3.2 部分表字段設(shè)計(jì)及注釋- 9 -</p><p>  第四章 系統(tǒng)實(shí)現(xiàn)主要技術(shù)介紹- 12 -</p><p>  4.1 ASP.NET內(nèi)置對(duì)象- 12 -</p><p>  4.2 ASP.NET自定義用戶控件- 15 -</p><p

10、>  4.3 ADO.NET- 16 -</p><p>  第五章 系統(tǒng)部分功能展示及其實(shí)現(xiàn)代碼- 21 -</p><p>  5.1 部分界面展現(xiàn)- 21 -</p><p>  5.2 新用戶注冊(cè)和用戶登陸- 23 -</p><p>  5.3 后臺(tái)管理功能- 28 -</p><p>  5

11、.4 隨機(jī)產(chǎn)生驗(yàn)證碼代碼- 30 -</p><p>  5.5 數(shù)據(jù)訪問(wèn)核心類部分代碼- 31 -</p><p>  第六章 總結(jié)- 35 -</p><p>  參考文獻(xiàn)- 36 -</p><p><b>  附錄- 37 -</b></p><p>  第一章 我國(guó)電子商務(wù)的現(xiàn)

12、狀和發(fā)展前景</p><p>  電子商務(wù)作為現(xiàn)代服務(wù)業(yè)中的重要產(chǎn)業(yè),有“朝陽(yáng)產(chǎn)業(yè)、綠色產(chǎn)業(yè)”之稱,具有“三高”、“三新”的特點(diǎn)?!叭摺奔锤呷肆Y本含量、高技術(shù)含量和高附加價(jià)值;“三新”是指新技術(shù)、新業(yè)態(tài)、新方式。人流、物流、資金流、信息流“四流合一”是對(duì)電子商務(wù)核心價(jià)值鏈的概括。電子商務(wù)產(chǎn)業(yè)具有市場(chǎng)全球化、交易連續(xù)化、成本低廉化、資源集約化等優(yōu)勢(shì)。</p><p>  電子商務(wù)按照參與

13、主體和客戶的不同,可分為多種形式,但目前看,B2B、B2C、C2C是主要形式,其中B2B是最主要的應(yīng)用形式。按照貿(mào)易主導(dǎo)主體,可分為銷(xiāo)售方控制型、購(gòu)買(mǎi)方控制型和中立第三方控制型。</p><p> ?。ㄒ唬┤螂娮由虅?wù)發(fā)展概況</p><p>  縱觀全球電子商務(wù)市場(chǎng),各地區(qū)發(fā)展并不平衡,呈現(xiàn)出美國(guó)、歐盟、亞洲“三足鼎立”的局面。</p><p>  美國(guó)是世界最早

14、發(fā)展電子商務(wù)的國(guó)家,同時(shí)也是電子商務(wù)發(fā)展最為成熟的國(guó)家,一直引領(lǐng)全球電子商務(wù)的發(fā)展,是全球電子商務(wù)的成熟發(fā)達(dá)地區(qū)。歐盟電子商務(wù)的發(fā)展起步較美國(guó)晚,但發(fā)展速度快,成為全球電子商務(wù)較為領(lǐng)先的地區(qū)。亞洲作為電子商務(wù)發(fā)展的新秀,市場(chǎng)潛力較大,但是近年的發(fā)展速度和所占份額并不理想,是全球電子商務(wù)的持續(xù)發(fā)展地區(qū)。</p><p>  全球B2B電子商務(wù)交易一直占據(jù)主導(dǎo)地位,2002年至今,呈現(xiàn)持續(xù)高速增長(zhǎng)態(tài)勢(shì),2007年全球

15、B2B交易額達(dá)到8.3萬(wàn)億美元,預(yù)計(jì)在未來(lái)幾年將保持40%以上的增長(zhǎng)率,到2010年B2B交易額將達(dá)到26萬(wàn)億美元,比2002年增長(zhǎng)30多倍。</p><p> ?。ǘ┪覈?guó)電子商務(wù)發(fā)展概況</p><p>  1、我國(guó)電子商務(wù)的現(xiàn)狀</p><p>  我國(guó)電子商務(wù)發(fā)展呈現(xiàn)典型的塊狀經(jīng)濟(jì)特征,東南沿海屬于較為發(fā)達(dá)地區(qū),北部和中部屬于快速發(fā)展地區(qū),西部則相對(duì)落后。&

16、lt;/p><p>  自2005年以來(lái),我國(guó)電子商務(wù)市場(chǎng)交易額穩(wěn)定增長(zhǎng),2007 年我國(guó)電子商務(wù)市場(chǎng)規(guī)模突破17000億元。未來(lái)3年,仍是我國(guó)電子商務(wù)投資規(guī)模持續(xù)增長(zhǎng)和爆發(fā)的時(shí)期,我國(guó)電子商務(wù)投資市場(chǎng)將迎來(lái)新一輪的發(fā)展高潮。一方面,2007年國(guó)家“十一五”電子商務(wù)發(fā)展規(guī)劃的頒布標(biāo)志著政府推動(dòng)電子商務(wù)的總體布局已經(jīng)形成;另一方面,電子商務(wù)在企業(yè)的應(yīng)用成效以及對(duì)經(jīng)濟(jì)、社會(huì)發(fā)展的推動(dòng)作用日益明顯。</p>

17、<p>  2007年我國(guó)B2B 電子商務(wù)交易額約為12500億元,比2006年增長(zhǎng)25.5%。目前B2B 市場(chǎng)的集中度較高,在綜合類網(wǎng)站中,阿里巴巴已占近乎7成份額。2007年我國(guó)B2C網(wǎng)站總收入約為52.2億元,同比增長(zhǎng)33.5%。B2C是傳統(tǒng)企業(yè)開(kāi)展電子商務(wù)的主要形式,隨著網(wǎng)絡(luò)購(gòu)物環(huán)境的好轉(zhuǎn)以及企業(yè)(特別是大中型企業(yè))電子商務(wù)化程度的提升,在總體規(guī)模上B2C 將會(huì)有一個(gè)長(zhǎng)足的發(fā)展,并成為未來(lái)網(wǎng)購(gòu)的主流。2007年我國(guó)C2

18、C交易額約為410.4億元,同比增長(zhǎng)90%;C2C是目前我國(guó)網(wǎng)購(gòu)的主要形式,但普及率還較低,不到網(wǎng)民總數(shù)的3成。</p><p>  2、我國(guó)電子商務(wù)發(fā)展趨勢(shì)</p><p> ?。?)電子商務(wù)的發(fā)展環(huán)境將不斷完善,發(fā)展動(dòng)力持續(xù)增強(qiáng)隨著市場(chǎng)經(jīng)濟(jì)體制進(jìn)一步完善,推進(jìn)經(jīng)濟(jì)增長(zhǎng)方式轉(zhuǎn)變和結(jié)構(gòu)調(diào)整的力度繼續(xù)加大,發(fā)展電子商務(wù)的需求將會(huì)更加強(qiáng)勁。電子商務(wù)將被廣泛應(yīng)用于生產(chǎn)、流通、消費(fèi)等各領(lǐng)域和社會(huì)生

19、活的各個(gè)層面。這將促使全社會(huì)電子商務(wù)的應(yīng)用意識(shí)不斷增強(qiáng),有關(guān)電子商務(wù)的政策、法律、法規(guī)將不斷出臺(tái),電子商務(wù)發(fā)展的政策法律環(huán)境將不斷完善。同時(shí),也促使物流、信用、電子支付等電子商務(wù)支撐體系建設(shè)更全面的展開(kāi),從而使得電子商務(wù)發(fā)展的內(nèi)在動(dòng)力持續(xù)增強(qiáng)。</p><p> ?。?)電子商務(wù)應(yīng)用將達(dá)到新的廣度和深度隨著《電子商務(wù)發(fā)展“十一五”規(guī)劃》的實(shí)施,電子商務(wù)在國(guó)民經(jīng)濟(jì)各部門(mén)中將得到進(jìn)一步的推廣和應(yīng)用。電子商務(wù)交易額呈現(xiàn)

20、穩(wěn)定持續(xù)增長(zhǎng)態(tài)勢(shì);在區(qū)域發(fā)展方面,長(zhǎng)三角、珠三角和環(huán)渤海等東南沿海的電子商務(wù)在繼續(xù)高速增長(zhǎng)的同時(shí),輻射力也逐漸提高,將促進(jìn)東部和中西部地區(qū)之間的協(xié)調(diào)發(fā)展;在企業(yè)應(yīng)用方面,在國(guó)家、各級(jí)政府的政策引導(dǎo)下,在電子商務(wù)服務(wù)業(yè)的協(xié)助下,將促進(jìn)企業(yè)由非支付型電子商務(wù)向支付型電子商務(wù)發(fā)展、協(xié)同電子商務(wù)的發(fā)展,深化企業(yè)應(yīng)用水平。</p><p> ?。?)電子商務(wù)與產(chǎn)業(yè)發(fā)展深度融合不斷加大,加速形成經(jīng)濟(jì)競(jìng)爭(zhēng)新態(tài)勢(shì)</p&g

21、t;<p>  在綜合性電子商務(wù)網(wǎng)站已經(jīng)占據(jù)綜合類B2B領(lǐng)域絕大部分市場(chǎng)的情況下,越來(lái)越多的行業(yè)電子商務(wù)網(wǎng)站已經(jīng)在綜合網(wǎng)站市場(chǎng)之外尋求專業(yè)化細(xì)分領(lǐng)域的發(fā)展。電子商務(wù)正在與傳統(tǒng)產(chǎn)業(yè)進(jìn)行深入的融合,兩者相互促進(jìn),協(xié)調(diào)發(fā)展。</p><p> ?。?)電子商務(wù)服務(wù)業(yè)蓬勃發(fā)展,逐步成為國(guó)民經(jīng)濟(jì)新的增長(zhǎng)點(diǎn)隨著企業(yè)供應(yīng)鏈電子商務(wù)、國(guó)際電子商務(wù)的發(fā)展,將帶動(dòng)電子商務(wù)服務(wù)業(yè)的發(fā)展,圍繞電子商務(wù)服務(wù)形成的從低端技術(shù)環(huán)

22、節(jié)到中端支撐環(huán)節(jié)再到高端應(yīng)用環(huán)節(jié)的電子商務(wù)服務(wù)鏈在我國(guó)結(jié)點(diǎn)飽滿,一個(gè)全新視角的電子商務(wù)服務(wù)業(yè)群正在形成,將成為未來(lái)國(guó)民經(jīng)濟(jì)新的增長(zhǎng)點(diǎn)。</p><p> ?。?)移動(dòng)電子商務(wù)正成為電子商務(wù)新的應(yīng)用領(lǐng)域2006年以來(lái),移動(dòng)通訊商,密切關(guān)注移動(dòng)商務(wù)企業(yè)市場(chǎng),中國(guó)移動(dòng)和銀聯(lián)聯(lián)手推出的“手機(jī)錢(qián)包”,完成移動(dòng)電子商務(wù)付費(fèi)的個(gè)性化服務(wù)。基于移動(dòng)支付的支持,移動(dòng)電子商務(wù)正成為電子商務(wù)新的應(yīng)用領(lǐng)域。</p><

23、;p>  第二章 系統(tǒng)需求分析</p><p>  2.1 系統(tǒng)功能需求</p><p>  21世紀(jì)以來(lái),人類經(jīng)濟(jì)高速發(fā)展,人們生活發(fā)生了日新月異的變化,特別是計(jì)算機(jī)的應(yīng)用及普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。使原本的舊的管理方式越來(lái)越不適應(yīng)現(xiàn)在社會(huì)的發(fā)展。許多人還停留在以前的逛街去買(mǎi)需要的用品,網(wǎng)上商城為大家?guī)?lái)了極大地方便。我所開(kāi)發(fā)的market網(wǎng)上商城購(gòu)物系統(tǒng)基本上實(shí)現(xiàn)了在線購(gòu)物

24、的需求,采用Microsoft Visual Studio 2010作為開(kāi)發(fā)平臺(tái),使用SQLServer2005作為后臺(tái)數(shù)據(jù)庫(kù)。本網(wǎng)上書(shū)店在線銷(xiāo)售系統(tǒng)是基于B/S架構(gòu),本網(wǎng)站系統(tǒng)的開(kāi)發(fā)主要是方便用戶足部出戶就可以購(gòu)買(mǎi)商品,減少供應(yīng)商店面費(fèi)用。</p><p>  本系統(tǒng)共有三類用戶:</p><p>  訪客:指沒(méi)有登陸權(quán)限(主要指網(wǎng)絡(luò)用戶),以匿名用戶的身份訪問(wèn)系統(tǒng)網(wǎng)站。此類用戶主要有瀏

25、覽系統(tǒng)信息、查看商品信息,注冊(cè)成為會(huì)員。把本網(wǎng)站設(shè)為首頁(yè),添加到收藏夾,聯(lián)系管理員等操作。瀏覽的內(nèi)容包括:商品信息、商品分類信息。</p><p>  會(huì)員:這類用戶擁有游客的所有權(quán)限;會(huì)員可以注冊(cè)成為會(huì)員,并根據(jù)會(huì)員ID和密碼登陸系統(tǒng),登陸之后可以對(duì)更改自己的信息但會(huì)員ID做為數(shù)據(jù)庫(kù)表主鍵不能修改。會(huì)員登陸后可以查看商品信息,查看各種分類商品信息,將商品添加到購(gòu)物車(chē)中,修改購(gòu)物車(chē)中商品數(shù)量,或是刪除某些不想要的

26、商品。</p><p>  系統(tǒng)管理員:系統(tǒng)管理員主要負(fù)責(zé)管理著系統(tǒng)后臺(tái)信息;主要有訂單管理,商品管理,會(huì)員管理,物流管理和系統(tǒng)管理。訂單管理有未確認(rèn)訂單和已確認(rèn)訂單管理,未付款訂單。商品管理主要有商品添加和商品管理,商品類別添加和商品類別管理。會(huì)員管理主要有添加管理員和管理管理員,管理會(huì)員。物流系統(tǒng)主要有支付方式添加和管理,配送方式添加和管理,配送地點(diǎn)添加和管理。系統(tǒng)管理主要是上傳管理。</p>

27、<p>  因此,本系統(tǒng)主要功能是對(duì)商品進(jìn)行管理規(guī)劃,方便會(huì)員購(gòu)買(mǎi)。</p><p>  2.2 系統(tǒng)設(shè)計(jì)思路</p><p>  2.2.1 功能設(shè)計(jì)</p><p>  商城前臺(tái):功能強(qiáng)大,操作方便。</p><p>  前臺(tái)作為與用戶直接交互的界面,在考慮功能的同時(shí),也考慮了操作的簡(jiǎn)潔和方便,目的是讓大多數(shù)不懂電腦操作的客戶也

28、能輕松地享受網(wǎng)上購(gòu)物帶來(lái)的極大方便。主要包括以下幾個(gè)模塊:</p><p> ?、?商品信息和類別展示</p><p><b>  ② 用戶注冊(cè)和登錄</b></p><p> ?、?已登錄用戶信息修改</p><p><b> ?、?購(gòu)物車(chē)管理</b></p><p>&l

29、t;b> ?、?網(wǎng)站活動(dòng)信息</b></p><p>  書(shū)店后臺(tái):本系統(tǒng)后臺(tái)在考慮書(shū)店管理操作簡(jiǎn)便的同時(shí),提供了強(qiáng)大的書(shū)店管理模式。主要包括以下幾個(gè)模塊:</p><p><b>  ① 訂單管理</b></p><p><b> ?、?商品管理</b></p><p><

30、b>  ③ 用戶管理</b></p><p><b> ?、?物流管理</b></p><p><b> ?、?系統(tǒng)管理</b></p><p>  2.2.2 結(jié)構(gòu)設(shè)計(jì)</p><p><b> ?、?參與者匯總</b></p><p&g

31、t;  游 者:查看商品信息和注冊(cè)成為會(huì)員。</p><p>  會(huì) 員:查看商品信息和購(gòu)買(mǎi)商品,修改個(gè)人信息等。</p><p>  管理員:管理商品信息,管理用戶信息等。</p><p> ?、?前臺(tái)流程:用戶登錄用戶登陸</p><p>  用戶注冊(cè)→用戶登錄→查看圖書(shū)信息→添加圖書(shū)到購(gòu)物車(chē)→支付</p><p&

32、gt;<b> ?、?后臺(tái)流程:</b></p><p>  管理員登錄→訂單管理、圖書(shū)管理、用戶管理、圖片管理→退出</p><p>  網(wǎng)上購(gòu)物系統(tǒng)為顧客提供一個(gè)類似于超級(jí)市場(chǎng)的網(wǎng)絡(luò)界面。通過(guò)網(wǎng)絡(luò)界面,用戶登錄后執(zhí)行各種操作,沒(méi)有注冊(cè)的用戶可以查找商品信息,查看首頁(yè)面的最受歡迎商品等信息。</p><p>  結(jié)構(gòu)設(shè)計(jì)簡(jiǎn)述:開(kāi)始我本想用三層

33、結(jié)構(gòu)搭建網(wǎng)站,但是在進(jìn)一步考慮之后發(fā)現(xiàn)系統(tǒng)的邏輯比較簡(jiǎn)單,并不一定要將業(yè)務(wù)邏輯單獨(dú)分離出來(lái)。于是將三層合并為兩層開(kāi)發(fā),即界面層和業(yè)務(wù)邏輯層合二為一,將界面層和業(yè)務(wù)邏輯層歸為一層,業(yè)務(wù)邏輯的處理放在頁(yè)面的后臺(tái)代碼中,這樣做的好處之一是簡(jiǎn)化開(kāi)發(fā)過(guò)程,之二是加快數(shù)據(jù)訪問(wèn)速度。當(dāng)然這樣做也帶來(lái)了一些不便,首先是開(kāi)發(fā)層次不如三層那樣清楚,界面數(shù)據(jù)和業(yè)務(wù)邏輯混雜,然后是給網(wǎng)站的后期維護(hù)以及修改帶來(lái)一定的不便,不如三層結(jié)構(gòu)修改起來(lái)容易。由于作者在畢業(yè)

34、設(shè)計(jì)期間還在專心準(zhǔn)備專升本的課程學(xué)習(xí),加上時(shí)間比較緊促,權(quán)衡利弊,選擇將三層合并為兩層開(kāi)發(fā)。</p><p><b>  第三章 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  3.1 數(shù)據(jù)庫(kù)各表關(guān)系圖</p><p><b>  圖3-1</b></p><p>  3.2 部分表字段設(shè)計(jì)及注釋</

35、p><p>  表3-1tb_GoodsInfo</p><p>  商品信息表:在添加商品和在前臺(tái)顯示商品詳細(xì)信息時(shí)用到該表,實(shí)現(xiàn)了商品的添加和顯示詳細(xì)信息的功能。</p><p>  表3-2tb_Class</p><p>  商品類型表:主要用于在添加商品類別的時(shí)候用到該表,把添加的商品類型存儲(chǔ)到該表中,完成商品類型的添加和調(diào)用功能。&l

36、t;/p><p>  表3-3 tb_OrderInfo</p><p>  訂單信息表:主要在管理訂單的時(shí)候用到該表完成訂單的管理功能。</p><p>  表3-4 tb_Member</p><p>  會(huì)員信息表:該表存儲(chǔ)了注冊(cè)的會(huì)員信息,在會(huì)員登錄和合結(jié)賬的時(shí)候會(huì)調(diào)用到該表。</p><p>  表3-5tb_A

37、dmin</p><p>  管理員信息表:主要用于后臺(tái)管理員登錄的時(shí)候調(diào)用該表完成管理員的登錄功能。</p><p>  第四章 系統(tǒng)實(shí)現(xiàn)主要技術(shù)介紹</p><p>  4.1 ASP.NET內(nèi)置對(duì)象</p><p>  下面是ASP.NET中常用對(duì)象的介紹及用法</p><p>  (1) Request 對(duì)象:

38、將用戶端輸入的數(shù)據(jù)傳遞給服務(wù)器。</p><p>  (2) Response 對(duì)象:向客戶端輸出數(shù)據(jù)。Response 和Request 可以說(shuō)是一對(duì)孿生兄弟,一個(gè)負(fù)責(zé)收集,另一個(gè)負(fù)責(zé)輸出。</p><p>  (3) Application 對(duì)象:可以供全體應(yīng)用程序使用。使用Application 對(duì)象不僅可以在給定的應(yīng)用程序的所有用戶之間共享,而且可以在服務(wù)器運(yùn)行期間持久地保存數(shù)據(jù)。

39、</p><p>  (4) Session 對(duì)象:供特定用戶會(huì)話使用。Session 對(duì)象與Application 對(duì)象的作用相近,使用Session 對(duì)象可以存儲(chǔ)特定的用戶會(huì)話所需的信息。Application 與Session 的區(qū)別在于,網(wǎng)上的用戶都可以使用Application 的對(duì)象,而Session 只是針對(duì)一個(gè)特定的客戶而已。</p><p>  (5) Server 對(duì)象

40、:提供對(duì)服務(wù)器上的方法和屬性的訪問(wèn),其中大多數(shù)方法和屬性是作為實(shí)用程序的功能服務(wù)的。最常用的方法是創(chuàng)建ActiveX 組件的實(shí)例(Server.CreateObject)。其他方法用于將URL 或HTML 編碼成字符串,將虛擬路徑映射到物理路徑以及設(shè)置腳本的超時(shí)期限。</p><p>  QueryString 集合</p><p>  QueryString 可以獲取標(biāo)識(shí)在URL 后面的

41、所有返回變量及其值。在搜索引擎里面經(jīng)常用這種方法。例如,當(dāng)用戶端送出如下請(qǐng)求時(shí),QueryString 將會(huì)得到name 和age 兩個(gè)變量的值。</p><p>  <a href="queryString.asp?name=wuerlang&age=36"></p><p>  在上面的例子中,href="queryString.asp"指出了鏈

42、接的地址,“?”后面有兩個(gè)變量name 和age,用&把它們連接起來(lái),它們的值分別是wuerlang 和36。</p><p>  Request 對(duì)象數(shù)據(jù)集合</p><p>  集合(collection)指的是一群放在一起的值(Value),例如當(dāng)瀏覽者輸入網(wǎng)頁(yè)窗體數(shù)據(jù)并單擊【提交】按鈕之后,窗體字段的名稱與瀏覽者輸入的數(shù)據(jù)就會(huì)以一個(gè)Form 形式的集合傳給 Web 服務(wù)器。

43、例如在ASP 對(duì)象的QueryString 集合中,若要取得username 字段或userage 字段的值,可以分別寫(xiě)成Request.QueryString("username")和Request.QueryString("userage") 。若是在Form 集合中, 則可以寫(xiě)成Request.form("username") 和Request.form("us

44、erage")。</p><p>  Request 對(duì)象提供了5個(gè)集合:Form、QueryString、Cookies、ServerVariables 和ClientCertificate。Request 對(duì)象把客戶信息保存在幾個(gè)集合中,供ASP 使用,當(dāng)不指定集合名時(shí),以QueryString、Form、Cookie、ClientCertificate、ServerVariable 的順序搜索所有

45、集合,當(dāng)發(fā)現(xiàn)第一個(gè)匹配的變量時(shí),就認(rèn)定它是要引用的成員。當(dāng)然,為了提高效率,最好指定是哪個(gè)集合中的成員。</p><p>  2. Response.Redirect 方法</p><p>  Redirect 方法使瀏覽器立即重定向到程序指定的URL。這也是一種經(jīng)常用到的方法,這樣程序員就可以根據(jù)客戶的不同響應(yīng),為不同的客戶指定不同的頁(yè)面或根據(jù)不同的情況指定</p><

46、;p>  不同的頁(yè)面。一旦使用了Redirect 方法,任何在頁(yè)中顯式設(shè)置的響應(yīng)正文內(nèi)容都將被忽略。然而,此方法不向客戶端發(fā)送該頁(yè)設(shè)置的其他HTTP 標(biāo)題,將產(chǎn)生一個(gè)將重定向URL</p><p>  作為鏈接包含的自動(dòng)響應(yīng)正文,其語(yǔ)法格式如下:</p><p>  Response.Redirect URL</p><p><b>  Sessio

47、n對(duì)象</b></p><p>  可以使用 Session 對(duì)象存儲(chǔ)特定的用戶會(huì)話所需的信息。當(dāng)用戶在應(yīng)用程序的頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)在Session 對(duì)象中的變量不會(huì)清除,而用戶在應(yīng)用程序中訪問(wèn)頁(yè)面時(shí),這些變量始終存在。當(dāng)用戶請(qǐng)求來(lái)自應(yīng)用程序的Web 頁(yè)時(shí),如果該用戶還沒(méi)有會(huì)話,則Web 服務(wù)器將自動(dòng)創(chuàng)建一個(gè)Session 對(duì)象。當(dāng)會(huì)話過(guò)期或被放棄后,服務(wù)器將終止該會(huì)話。通過(guò)向客戶程序發(fā)送唯一的Coo

48、kie 可以管理服務(wù)器上的Session 對(duì)象。當(dāng)用戶第一次請(qǐng)求ASP應(yīng)用程序中的某個(gè)頁(yè)面時(shí),ASP 要檢查HTTP頭信息,查看在報(bào)文中是否有名為ASPSESSIONID的Cookie 發(fā)送過(guò)來(lái),如果沒(méi)有,則服務(wù)器會(huì)啟動(dòng)新的會(huì)話,并為該會(huì)話生成一個(gè)全局唯一的值,再把這個(gè)值作為新ASPSESSIONID Cookie 的值發(fā)送給客戶端。正是使用這種Cookie,可以訪問(wèn)存儲(chǔ)在服務(wù)器上的屬于客戶程序的信息。Session 對(duì)象最常見(jiàn)的作用就

49、是存儲(chǔ)用戶的首選項(xiàng)。例如,如果用戶指明不喜歡查看圖形,就可以將該信息存儲(chǔ)在Session 對(duì)象中。另外還經(jīng)常被用在鑒別客戶身份的程序中。要注意的是,會(huì)話狀態(tài)僅在支持Cookie 的瀏覽器中保留</p><p>  Session對(duì)象的主要用途是保存信息,當(dāng)用戶登錄網(wǎng)站時(shí),系統(tǒng)為其分配一個(gè)Session,只有當(dāng)用戶退出時(shí),或者Session 生命周期結(jié)束時(shí),信息才會(huì)清除。</p><p> 

50、 4.2 ASP.NET自定義用戶控件</p><p>  就其核心而言,ASP.NET是一種以如下方式定義的基于控件的構(gòu)架:</p><p><b>  ·頁(yè)是控件</b></p><p>  ·任何控件都可以包含子控件</p><p>  ·呈現(xiàn)控件時(shí),先呈現(xiàn)本身的內(nèi)容,然后反復(fù)呈現(xiàn)子控

51、件的內(nèi)容</p><p>  這種構(gòu)架類似于Win32API中的窗口構(gòu)架。桌面本身是一個(gè)窗口(好像Page),而且任何窗口都可以包含子窗口。呈現(xiàn)每個(gè)窗口時(shí),首先呈現(xiàn)本身的內(nèi)容,然后呈現(xiàn)子窗口的內(nèi)容。在桌面上,窗口的呈現(xiàn)涉及在顯示器上繪制像素,ASP.NET控件的呈現(xiàn)設(shè)計(jì)生成HTML,以填入HTTP請(qǐng)求的部分相應(yīng)。ASP.NET的控件構(gòu)架是一種完全可擴(kuò)展的框架,本章討論用于構(gòu)建自定義控件的技術(shù),創(chuàng)建真正可重用的We

52、b組件(封裝了表示和服務(wù)器交互的細(xì)節(jié))。</p><p>  asp.net中提供的增加內(nèi)嵌服務(wù)器控件的功能,使你能夠多次的輕松增加你所定義的各種控件。事實(shí)上,對(duì)于表單等各種控件,可以不用更改或者稍微更改一下就可以多次使用的。</p><p>  在通常情況下,我們把一個(gè)用作服務(wù)器控件的web表單統(tǒng)稱為用戶控件,我們用一個(gè).ascx為后綴的文件保存起來(lái),這樣的保存使得它不被當(dāng)作一個(gè)web表

53、單來(lái)運(yùn)行,當(dāng)我們?cè)谝粋€(gè).aspx文件中使用它時(shí),我們用Register方法來(lái)進(jìn)行調(diào)用,假設(shè)我們有一個(gè)文件名為saidy.ascx的文件,我們用下面的語(yǔ)句來(lái)調(diào)用它: <%@ Register TagPrefix="Acme" TagName="Message" Src="saidy.ascx" %> 上面的TagPrefix標(biāo)記為用戶控件確定個(gè)唯一的名字空間,TagN

54、ame為用戶控件確定一個(gè)唯一的名稱,你也可以用其它的名字代替“Message“,Src為確定所包含的文件名稱和路徑。這樣,我們就可以用下面的語(yǔ)句來(lái)調(diào)用它了:</p><p>  <Acme:Message runat="server"/></p><p>  4.3 ADO.NET</p><p>  ADO.NET的名稱起源于ADO

55、(ActiveX Data Objects),這是一個(gè)廣泛的類組,用于在以往的Microsoft技術(shù)中訪問(wèn)數(shù)據(jù).之所以使用ADO.NET名稱,是因?yàn)镸icrosoft希望表明,這是在.NET編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問(wèn)接口。</p><p>  它提供了平臺(tái)互用性和可伸縮的數(shù)據(jù)訪問(wèn)。ADO.NET增強(qiáng)了對(duì)非連接編程模式的支持,并支持RICH XML。由于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用

56、程序都可以進(jìn)行數(shù)據(jù)處理。事實(shí)上,接受數(shù)據(jù)的組件不一定要是ADO .NET組件,它可以是基于一個(gè)Microsoft Visual Studio的解決方案,也可以是任何運(yùn)行在其它平臺(tái)上的任何應(yīng)用程序。 </p><p>  ADO.NET是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢悗?kù)。通常情況下,數(shù)據(jù)源是數(shù)據(jù)庫(kù),但它同樣也能夠是文本文件、Excel表格或者XML文件。 </p><p>  ADO.

57、NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫(kù)進(jìn)行交互。然而并沒(méi)有與此相關(guān)的一系列類來(lái)完成這樣的工作。因?yàn)椴煌臄?shù)據(jù)源采用不同的協(xié)議,所以對(duì)于不同的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù)據(jù)源使用ODBC協(xié)議,許多新的數(shù)據(jù)源使用OleDb協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù)源,這些數(shù)據(jù)源都可以通過(guò).NET的ADO.NET類庫(kù)來(lái)進(jìn)行連接。 </p><p>  ADO.NET提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對(duì)于不同的

58、數(shù)據(jù)源采用一組不同的類庫(kù)。這些類庫(kù)稱為Data Providers,并且通常是以與之交互的協(xié)議和數(shù)據(jù)源的類型來(lái)命名的。</p><p>  ADO.NET包含的類</p><p>  1、Connection 類</p><p>  和數(shù)據(jù)庫(kù)交互,你必須連接它。連接幫助指明數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)名字、用戶名、密碼,和連接數(shù)據(jù)庫(kù)所需要的其它參數(shù)。Connection對(duì)象

59、會(huì)被Command對(duì)象使用,這樣就能夠知道是在哪個(gè)數(shù)據(jù)源上面執(zhí)行命令。 </p><p>  與數(shù)據(jù)庫(kù)交互的過(guò)程意味著你必須指明想要執(zhí)行的操作。這是依靠Command對(duì)象執(zhí)行的。你使用Command對(duì)象來(lái)發(fā)送SQL語(yǔ)句給數(shù)據(jù)庫(kù)。Command對(duì)象使用Connection對(duì)象來(lái)指出與哪個(gè)數(shù)據(jù)源進(jìn)行連接。你能夠單獨(dú)使用Command對(duì)象來(lái)直接執(zhí)行命令,或者將一個(gè)Command對(duì)象的引用傳遞給DataAdapter,它

60、保存了一組能夠操作下面描述的一組數(shù)據(jù)的命令。 </p><p>  2、Command對(duì)象</p><p>  成功于數(shù)據(jù)建立連接后,就可以用Command對(duì)象來(lái)執(zhí)行查詢、修改、插入、刪除等命令; Command對(duì)象常用的方法有ExecuteReader方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入數(shù)據(jù)可用ExecuteNonQuery()方法來(lái)執(zhí)行

61、插入命令。 </p><p>  3、DataReader類</p><p>  許多數(shù)據(jù)操作要求你只是讀取一串?dāng)?shù)據(jù)。DataReader對(duì)象允許你獲得從Command對(duì)象的SELECT語(yǔ)句得到的結(jié)果??紤]性能的因素,從DataReader返回的數(shù)據(jù)都是快速的且只是“向前”的數(shù)據(jù)流。這意味著你只能按照一定的順序從數(shù)據(jù)流中取出數(shù)據(jù)。這對(duì)于速度來(lái)說(shuō)是有好處的,但是如果你需要操作數(shù)據(jù),更好的辦法

62、是使用DataSet。 </p><p>  4、DataSet對(duì)象</p><p>  DataSet對(duì)象是數(shù)據(jù)在內(nèi)存中的表示形式。它包括多個(gè)DataTable對(duì)象,而DataTable包含列和行,就象一個(gè)普通的數(shù)據(jù)庫(kù)中的表。你甚至能夠定義表之間的關(guān)系來(lái)創(chuàng)建主從關(guān)系(parent-child relationships)。DataSet是在特定的場(chǎng)景下使用――幫助管理內(nèi)存中的數(shù)據(jù)并支持對(duì)

63、數(shù)據(jù)的斷開(kāi)操作的。DataSet是被所有Data Providers使用的對(duì)象,因此它并不像Data Provider一樣需要特別的前綴。 </p><p>  5、DataAdapter類</p><p>  某些時(shí)候你使用的數(shù)據(jù)主要是只讀的,并且你很少需要將其改變至底層的數(shù)據(jù)源。同樣一些情況要求在內(nèi)存中緩存數(shù)據(jù),以此來(lái)減少并不改變的數(shù)據(jù)被數(shù)據(jù)庫(kù)調(diào)用的次數(shù)。DataAdapter通過(guò)斷開(kāi)

64、模型來(lái)幫助你方便的完成對(duì)以上情況的處理。當(dāng)在一單批次的對(duì)數(shù)據(jù)庫(kù)的讀寫(xiě)操作的持續(xù)的改變返回至數(shù)據(jù)庫(kù)的時(shí)候,DataAdapter 填充(fill)DataSet對(duì)象。DataAadapter包含對(duì)連接對(duì)象以及當(dāng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀取或者寫(xiě)入的時(shí)候自動(dòng)的打開(kāi)或者關(guān)閉連接的引用。另外,DataAdapter包含對(duì)數(shù)據(jù)的SELECT、INSERT、UPDATE和DELETE操作的Command對(duì)象引用。你將為DataSet中的每一個(gè)Table都定義D

65、ataAadapter,它將為你照顧所有與數(shù)據(jù)庫(kù)的連接。所有你將做的工作是告訴DataAdapter什么時(shí)候裝載或者寫(xiě)入到數(shù)據(jù)庫(kù)。 </p><p>  6、DataTable類</p><p>  DataTable 是一個(gè)數(shù)據(jù)網(wǎng)格控件。它可以被應(yīng)用在 VB 和 ASP 上。它無(wú)須代碼就可以簡(jiǎn)單的綁定數(shù)據(jù)庫(kù)。它具有微軟風(fēng)格的用戶界面。</p><p>  7、AD

66、O.NET是與數(shù)據(jù)源交互的.NET技術(shù)。有許多的Data Providers,它將允許與不同的數(shù)據(jù)源交流――取決于它們所使用的協(xié)議或者數(shù)據(jù)庫(kù)。然而無(wú)論使用什么樣的Data Provider,你將使用相似的對(duì)象與數(shù)據(jù)源進(jìn)行交互。SqlConnection對(duì)象管理與數(shù)據(jù)源的連接。SqlCommand對(duì)象允許你與數(shù)據(jù)源交流并發(fā)送命令給它。為了對(duì)進(jìn)行快速的只“向前”地讀取數(shù)據(jù),使用SqlDataReader。如果想使用斷開(kāi)數(shù)據(jù),使用DataSe

67、t并實(shí)現(xiàn)能進(jìn)行讀取或者寫(xiě)入數(shù)據(jù)源的SqlDataAdapter。</p><p>  第五章 系統(tǒng)部分功能展示及其實(shí)現(xiàn)代碼</p><p>  5.1 部分界面展現(xiàn)</p><p><b> ?。?)前臺(tái)主界面</b></p><p><b>  圖5-1</b></p><p&

68、gt;<b> ?。?)購(gòu)物車(chē)</b></p><p><b>  圖5-2</b></p><p><b> ?。?)后臺(tái)首頁(yè)</b></p><p><b>  圖5-3</b></p><p><b> ?。?)訂單管理</b>

69、</p><p><b>  圖5-4</b></p><p><b>  (5)物流管理</b></p><p><b>  圖5-5</b></p><p><b> ?。?)普通會(huì)員管理</b></p><p><b&g

70、t;  圖5-6</b></p><p><b> ?。?)管理員管理</b></p><p><b>  圖5-7</b></p><p>  5.2 新用戶注冊(cè)和用戶登陸</p><p><b> ?。?)前臺(tái)登陸</b></p><p>

71、;<b>  圖5-8</b></p><p>  這里的登陸界面是用自定義用戶控件實(shí)現(xiàn)的,其后臺(tái)代碼如下:</p><p><b>  登陸按鈕事件:</b></p><p>  protected void btnLoad_Click(object sender, EventArgs e)</p><

72、;p><b>  {</b></p><p>  Session["UID"] = null ;</p><p>  Session["Username"] = null ;</p><p>  if (txtName.Text.Trim() == "" || txtPasswo

73、rd.Text.Trim () == "")</p><p><b>  {</b></p><p>  Response.Write("<script>alert(登錄名和密碼不能為空!');location='javascript:history.go(-1)';</script>&qu

74、ot;);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if (txtValid.Text.Trim() == lbValid.Text.Trim())</p>

75、<p><b>  {</b></p><p>  int P_Int_IsExists = uiObj.UserExists(txtName.Text.Trim(), txtPassword.Text.Trim());</p><p>  if (P_Int_IsExists == 100)</p><p><b>  {

76、</b></p><p>  DataSet ds = uiObj.ReturnUIDs(txtName.Text.Trim(), txtPassword.Text.Trim(), "UserInfo");</p><p>  Session["UID"] = Convert.ToInt32(ds.Tables["UserInf

77、o"].Rows[0][0].ToString());</p><p>  Session["Username"] = ds.Tables["UserInfo"].Rows[0][1].ToString();</p><p>  Response.Redirect("index.aspx");</p>&l

78、t;p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<script>alert('您的登錄有誤,請(qǐng)核對(duì)后再重新登錄!);location='

79、javascript:history.go(-1)';</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {&

80、lt;/b></p><p>  Response.Write("<script>alert('請(qǐng)正確輸入驗(yàn)證碼!');location='javascript:history.go(-1)';</script>"); </p><p><b>  }</b><

81、;/p><p><b>  }</b></p><p><b>  }</b></p><p><b> ?。?)會(huì)員注冊(cè)</b></p><p><b>  圖5-9</b></p><p><b>  保存按鈕代碼:<

82、;/b></p><p>  protected void btnSave_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (txtPostCode.Text.Trim() == "" && txtPassword.T

83、ext.Trim()=="")</p><p><b>  {</b></p><p>  Response.Write("<script>alert('請(qǐng)輸入完整信息!');location='javascript:history.go(-1)';</script>");

84、</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  { </b></p><p>  bool P_Bl_Sex;</p><p>  if(Convert.ToInt32(ddlSex.S

85、electedItem.Value.Trim())==1)</p><p><b>  {</b></p><p>  P_Bl_Sex =true ;</p><p><b>  }</b></p><p><b>  else </b></p><p&g

86、t;<b>  {</b></p><p>  P_Bl_Sex =false ;</p><p><b>  }</b></p><p>  G_Int_MemberID = uiObj.AddUInfo(txtName.Text.Trim(), P_Bl_Sex, txtPassword.Text.Trim(), tx

87、tTrueName.Text.Trim(), "", "", txtPhone.Text.Trim(), txtEmail.Text.Trim(), ddlCity.SelectedItem.Text.Trim(), txtAddress.Text.Trim(), txtPostCode.Text.Trim());</p><p>  Session["Usern

88、ame"] = "";</p><p>  Session["Username"] =txtName.Text.Trim();</p><p>  Response.Write("<script>alert('恭喜您,注冊(cè)成功!');location='index.aspx'</s

89、cript>");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  后臺(tái)登陸界面:</b></p><p><b>  圖5-10</b></p><p>

90、<b>  登陸按鈕代碼:</b></p><p>  protected void btnLogin_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (txtAdminName.Text.Trim() == "" |

91、| txtAdminPwd.Text.Trim() == "")</p><p><b>  {</b></p><p>  Response.Write("<script>alert('登錄名和密碼不能為空!);location='javascript:history.go(-1)';</scr

92、ipt>");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if (txtAdminCode.Text.Trim() == labCode.Text.Trim(

93、))</p><p><b>  {</b></p><p>  int P_Int_IsExists = mcObj.AExists(txtAdminName.Text.Trim(), txtAdminPwd.Text.Trim());</p><p>  if (P_Int_IsExists == 100)</p><p

94、><b>  {</b></p><p>  DataSet ds = mcObj.ReturnAIDs(txtAdminName.Text.Trim(), txtAdminPwd.Text.Trim(), "AInfo");</p><p>  Session["AID"] = Convert.ToInt32(ds.Ta

95、bles["AInfo"].Rows[0][0].ToString());</p><p>  Session["Aname"] = ds.Tables["AInfo"].Rows[0][1].ToString();</p><p>  //Response.Write("<script language=java

96、script>window.open('AdminIndex.aspx');window.close();</script>");</p><p>  Response.Redirect("AdminIndex.aspx");</p><p>  Response.Write("<script language

97、=javascript>window.close();</script>");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Wri

98、te("<script>alert('您輸入的用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入!');location='javascript:history.go(-1)';</script>");</p><p><b>  }</b></p><p><b>  }</b></p

99、><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<script>alert('驗(yàn)證碼輸入有誤,請(qǐng)重新輸入!');location='javascript:history.go(-1)';&l

100、t;/script>");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  5.3 后臺(tái)管理功能</p><p>  以商品管理為例,會(huì)員管理,物

101、流管理代碼都與其類似,下面不再贅述:</p><p><b>  圖5-11</b></p><p><b>  添加商品</b></p><p><b>  圖5-12</b></p><p><b>  保存按鈕事件:</b></p>&

102、lt;p>  protected void btnSave_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (txtName.Text == "" || txtBrand.Text == "" || txtUnit.Text == &qu

103、ot;" || txtWeight.Text == "" || txtMemberPrice.Text == "" || txtMarketPrice.Text == "")</p><p><b>  {</b></p><p>  Response.Write("<script&

104、gt;alert('請(qǐng)輸入必要的信息')</script>");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  { </b></p><p>  bool Isrefine

105、ment ;</p><p>  bool IsHot;</p><p>  bool IsDisCount;</p><p>  if(cbxCommend.Checked ==true)</p><p><b>  {</b></p><p>  Isrefinement =true ;<

106、;/p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Isrefinement =false ;</p><p><b>  }</b><

107、/p><p>  if(cbxHot.Checked==true)</p><p><b>  {</b></p><p>  IsHot=true;</p><p><b>  }</b></p><p><b>  else </b></p>

108、<p><b>  {</b></p><p>  IsHot =false ;</p><p><b>  }</b></p><p>  if(cbxDiscount.Checked ==true)</p><p><b>  {</b></p>

109、<p>  IsDisCount=true ;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  IsDisCount =false ;</p><p

110、><b>  }</b></p><p>  int P_Int_returnValue = mcObj.AddGInfo(Convert.ToInt32(ddlCategory.SelectedItem.Value.ToString()), txtName.Text.Trim(), txtShortDesc.Text.Trim(), txtBrand.Text.Trim(), txt

111、Unit.Text.Trim(), float.Parse (txtWeight.Text.Trim()), ddlUrl.SelectedItem.Value.Trim(), float.Parse(txtMarketPrice.Text.Trim()), float.Parse(txtMemberPrice.Text.Trim()), Isrefinement, IsHot, IsDisCount);</p><

112、p>  if (P_Int_returnValue == -100)</p><p><b>  {</b></p><p>  Response.Write("<script>alert('該商品已存在!');</script>");</p><p><b>  }&

113、lt;/b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<script>alert('添加成功|!');window.location.href='Product.aspx&#

114、39;</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p>  5.4 隨機(jī)產(chǎn)生驗(yàn)證碼代碼</p><p>  public string RandomNum(int n) //</p><

115、p><b>  {</b></p><p>  string strchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";</p><p

116、>  string[] VcArray = strchar.Split(',');</p><p>  string VNum = ""; //</p><p>  int temp = -1; //記錄上次隨機(jī)數(shù)值,盡量避免產(chǎn)生幾個(gè)一樣的隨機(jī)數(shù)</p>

117、<p>  //采用一個(gè)簡(jiǎn)單的算法以保證生成隨機(jī)數(shù)不同</p><p>  Random rand = new Random();</p><p>  for (int i = 1; i < n + 1; i++)</p><p><b>  {</b></p><p>  if (temp != -1

118、)</p><p><b>  {</b></p><p>  rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));</p><p><b>  }</b></p><p>  int t = rand.Next(61);

119、</p><p>  if (temp != -1 && temp == t)</p><p><b>  {</b></p><p>  return RandomNum(n);</p><p><b>  }</b></p><p><b>  

120、temp = t;</b></p><p>  VNum += VcArray[t];</p><p><b>  }</b></p><p>  return VNum;//返回生成的隨機(jī)數(shù)</p><p><b>  }</b></p><p>  5.5 數(shù)

121、據(jù)訪問(wèn)核心類部分代碼</p><p>  DBClass.cs</p><p>  MangerClass.cs</p><p>  UserInfoClass.cs</p><p><b>  重要方法:</b></p><p>  /// <summary></p>

122、<p><b>  /// 數(shù)據(jù)庫(kù)連接</b></p><p>  /// </summary></p><p>  /// <returns>SqlConnection對(duì)象</returns></p><p>  public SqlConnection GetConnection()</p

123、><p><b>  {</b></p><p>  string myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();</p><p>  SqlConnection myConn = new SqlConnection(myStr);

124、</p><p>  return myConn;</p><p><b>  }</b></p><p>  /// <summary></p><p>  /// 判斷用戶是否存在</p><p>  /// </summary></p><p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論