版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘要</b></p><p> 校園舊貨交易系統(tǒng)的主要功能可分為:貨物信息的登記、修改、查詢、留言以及貨物信息的統(tǒng)計(jì)和輸出報(bào)表等。根據(jù)系統(tǒng)實(shí)際運(yùn)作流程,可將校園舊貨交易系統(tǒng)分成包括賣方、買方和管理員三個(gè)不同角色的功能模塊。</p><p> 本論文主要研究校園舊貨交易系統(tǒng)中賣方角色的設(shè)計(jì)與開發(fā)。涉及的具體功能主要包括:商品信息的發(fā)布、
2、查詢;賣方、買方關(guān)于商品交易的留言記錄。核心模塊包括三個(gè)部分:商品信息瀏覽、商品信息發(fā)布、留言討論。</p><p> 設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)賣方角色所使用的開發(fā)工具:Microsoft Visual C# 2005 Express,Microsoft Visual Web Developer 2005 Express,Microsoft SQL Server 2005。</p><p> 本論
3、文主要目的在于論述賣方角色關(guān)于商品信息的發(fā)布功能的實(shí)現(xiàn),以及回復(fù)買方留言的功能。由于本系統(tǒng)需要使用者被認(rèn)證為合法用戶后才能發(fā)布商品信息,因此在設(shè)計(jì)上也初步考慮了系統(tǒng)的安全性問題。</p><p> 關(guān)鍵字:校園交易 C# ASP.NET 2.0 SQL Server。</p><p><b> Abstract</b></p><p
4、> The main function of the secondhand goods trade system of the campus (SGTSOC) can be divided into registration, modification, inquiring about the goods information, leaving a message and giving statistics and repor
5、ting goods information, etc. According to the work procedure of the system, SGTSOC can be divided into three function module including the seller, the buyer and the administrator.</p><p> The role of the se
6、ller in SGTSOC has been designed and developed mainly in this thesis. The concrete function involved includes mainly issue, inquiry of the goods information, message records about the trade between the sellers and the bu
7、yers. The main module includes three parts that are issues of goods information, leaving a message and discussing about information of the goods.</p><p> The technology and tools used to design the seller r
8、ole of the system are Visual Studio .NET including Microsoft Visual C# 2005 Express, Microsoft Visual Web Developer 2005 Express, Microsoft SQL Server 2005.</p><p> The main purpose of this thesis lies in d
9、escribing the realization of putting out goods information and replying the buyer’s message as a seller role. For it needs authentication of the users who wants to put out goods information, there is some consideration o
10、f the security problem of the system.</p><p> Keyword: trade on the campus C# ASP.NET 2.0 SQL Server</p><p><b> .目錄</b></p><p><b> 第一章 引言1</b></
11、p><p> 1.1 課題來(lái)源1</p><p> 1.2 開發(fā)工具的選擇1</p><p> 第二章 .NET框架3</p><p> 2.1 .NET整體框架3</p><p> 2.1.1 NGWS Framework的定義3</p><p> 2.1.2 NameS
12、pace定義3</p><p> 2.2 Web應(yīng)用程序模型4</p><p> 2.2.1 ASP.NET的基本概念5</p><p> 2.2.2 NGWS Runtime6</p><p> 2.2.3 ADO.NET7</p><p> 第三章 系統(tǒng)總體設(shè)計(jì)11</p>
13、<p> 3.1 系統(tǒng)需求分析11</p><p> 3.2 系統(tǒng)功能模塊分析13</p><p> 3.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)13</p><p> 3.3.1 ER圖設(shè)計(jì)13</p><p> 3.3.2 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)14</p><p> 第四章 應(yīng)用程序設(shè)計(jì)17</
14、p><p> 4.1 網(wǎng)頁(yè)頁(yè)面設(shè)計(jì)17</p><p> 4.1.1 網(wǎng)頁(yè)頁(yè)面設(shè)計(jì)17</p><p> 4.1.2 系統(tǒng)構(gòu)建中使用的若干簡(jiǎn)單控件的介紹18</p><p> 4.2 待售商品信息瀏覽功能模塊設(shè)計(jì)21</p><p> 4.3 商品信息發(fā)布功能模塊設(shè)計(jì)27</p>&l
15、t;p> 4.4 填寫個(gè)人信息功能模塊設(shè)計(jì)30</p><p> 4.5 商品論壇功能模塊設(shè)計(jì)32</p><p> 第五章 結(jié)束語(yǔ)39</p><p><b> 致謝41</b></p><p><b> 第一章 引言</b></p><p><
16、;b> 1.1 課題來(lái)源</b></p><p> 從1990年以來(lái),隨著我國(guó)國(guó)民經(jīng)濟(jì)的發(fā)展與產(chǎn)業(yè)結(jié)構(gòu)的快速升級(jí),我國(guó)舊貨業(yè)發(fā)展迅速。1998年,我國(guó)舊貨交易額僅為300億元,到2003年底就已經(jīng)突破了1200億元,年均增長(zhǎng)達(dá)到41.42%。然而,由于我國(guó)舊貨市場(chǎng)的價(jià)格體系還不夠完善,不可避免地會(huì)出現(xiàn)舊貨非規(guī)范定價(jià)的問題,從而損害了消費(fèi)者的利益,影響到舊貨的正常流通。[1]</p>
17、;<p> 因此,對(duì)舊貨市場(chǎng)而言,信息的媒介作用就顯得非常重要。構(gòu)建合理的收售網(wǎng)絡(luò)、加強(qiáng)信息溝通,成為必要。隨著Web技術(shù)的不斷進(jìn)步,舊貨交易系統(tǒng)和舊貨交易網(wǎng)站蓬勃發(fā)展起來(lái)。例如國(guó)外的“電子港灣”,國(guó)內(nèi)的“當(dāng)當(dāng)”,都開辟了自己的網(wǎng)上二手商品市場(chǎng)。</p><p> 開發(fā)設(shè)計(jì)校園舊貨交易系統(tǒng)有兩個(gè)方面的現(xiàn)實(shí)意義:一是解決了同學(xué)們,特別是即將畢業(yè)的同學(xué)舊物無(wú)法處理的困難;二是使急需這些物品的同學(xué),以
18、較低廉的價(jià)格購(gòu)買到想要的東西,實(shí)現(xiàn)了資源的合理利用。</p><p> 1.2 開發(fā)工具的選擇</p><p> 現(xiàn)在用來(lái)構(gòu)建網(wǎng)上交易系統(tǒng)的語(yǔ)言和技術(shù)種類非常豐富,我們此次設(shè)計(jì)和開發(fā)的校園舊貨交易系統(tǒng)主要采用C#、ASP.NET 2.0、ADO.NET等語(yǔ)言和技術(shù),在Microsoft Visual C# 2005 Express、Microsoft Visual Web Develo
19、per 2005 Express和Microsoft SQL Server 2005等開發(fā)工具和開發(fā)環(huán)境下進(jìn)行。</p><p> C#是微軟公司在C、C++之后發(fā)布的一種新的編程語(yǔ)言,它對(duì)C、C++做了重大改進(jìn),在繼承前兩者強(qiáng)大功能的同時(shí),去掉了它們的一些復(fù)雜特性,成為一種高效的、現(xiàn)代的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。[2]</p><p> ASP .NET 2.0并不是在ASP基礎(chǔ)上的簡(jiǎn)
20、單升級(jí),而是全新一代的動(dòng)態(tài)網(wǎng)頁(yè)實(shí)現(xiàn)系統(tǒng)。ASP程序是面向過程的,語(yǔ)句是被HTML包圍,一條一條執(zhí)行,在程序上難于維護(hù),在效率上和速率上也都大打折扣,查看代碼也很吃力。ASP .NET作為一種全新的Web開發(fā)技術(shù),給了設(shè)計(jì)者一種全新的設(shè)計(jì)概念。它將軟件設(shè)計(jì)和Web設(shè)計(jì)融為一體。它和VB .NET、VC .NET、VC# .NET這些程序設(shè)計(jì)語(yǔ)言使用同一個(gè).NET Framework對(duì)象開發(fā)庫(kù),故其可實(shí)現(xiàn)的功能非常強(qiáng)大,加上高系數(shù)的安全性、
21、快捷的處理速率、條理清晰的類代碼以及許許多多的集成功能,使從前在ASP中難以實(shí)現(xiàn)的功能在 ASP .NET 2.0中可以輕松實(shí)現(xiàn)。[3] </p><p> ADO .NET是由.NET Framework為了與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行交互而提供的一組對(duì)象類的名稱,它可以與許多類型的對(duì)象交互,不僅有存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù),還有存儲(chǔ)在電子郵件服務(wù)器、文本文件、應(yīng)用程序文檔(例如Excel電子表格)和XML中的數(shù)據(jù)。A
22、DO與ADO.NET都能夠編寫對(duì)數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)進(jìn)行訪問和操作的應(yīng)用程序,并且具有易于使用、高速度、低內(nèi)存支出和占用磁盤空間較少、支持用于建立基于客戶端/服務(wù)器端的Web應(yīng)用程序的主要功能。但是ADO使用OLE DB接口并基于微軟的COM技術(shù),而ADO.NET擁有自己的ADO.NET接口并且基于微軟的.NET體系架構(gòu)。因?yàn)?NET體系不同于COM體系,ADO.NET接口也就完全不同于ADO使用的OLE DB接口,這也就是說(shuō)ADO.N
23、ET和ADO是兩種數(shù)據(jù)訪問方式。ADO.NET相對(duì)于ADO的最大優(yōu)勢(shì)在于對(duì)于數(shù)據(jù)的更新修改可以在與數(shù)據(jù)源完全斷開聯(lián)系的情況下進(jìn)行,然后再把數(shù)據(jù)更新情況傳回到數(shù)據(jù)源。這樣大大減少了連接過多對(duì)于數(shù)據(jù)庫(kù)服務(wù)器資源的占用。[4]</p><p> 第二章 .NET框架</p><p> 2.1 .NET整體框架</p><p> 微軟新一代的平臺(tái)名稱為“Microso
24、ft’s Next Generation Windows Services”, 即“新一代Windows服務(wù)”。這個(gè)平臺(tái)的注冊(cè)商標(biāo)是“Microsoft .NET”。Microsoft .NET是Microsoft XMLWeb Service平臺(tái)。XMLWeb Service允許應(yīng)用程序通過Internet 進(jìn)行通訊和共享數(shù)據(jù),而不需要考慮采用的是哪種操作系統(tǒng)、設(shè)備或編程語(yǔ)言。Microsoft .NET平臺(tái)提供創(chuàng)建XMLWeb Se
25、rvice 并將這些服務(wù)集成在一起。Microsoft .NET將開創(chuàng)互聯(lián)網(wǎng)的新局面,使基于HTML的Web界面通過基于XML的信息得到擴(kuò)展與增強(qiáng)。</p><p> 2.1.1 NGWS Framework的定義</p><p> .NET作為一個(gè)嶄新的運(yùn)行平臺(tái),它使用關(guān)鍵的結(jié)構(gòu)提供對(duì)所有.NET下應(yīng)用程序以及Web程序的支持,包括對(duì)ASP.NET的支持。圖2.1說(shuō)明Framewo
26、rk支持ASP.NET和Windows應(yīng)用程序的方式。</p><p> 圖2.1 .NET 模型</p><p> 2.1.2 NameSpace定義</p><p> 對(duì)象是Windows開發(fā)環(huán)境中程序開發(fā)的中心,在不同的開發(fā)環(huán)境下,會(huì)具備不同的對(duì)象。.NET所使用的對(duì)象就是命名空間(NameSpace)。</p><p>
27、在經(jīng)典的ASP中,只有Server、Request、Response等六個(gè)對(duì)象。而ASP.NET可以使用.NET類庫(kù)中非常豐富的對(duì)象。.NET類庫(kù)中豐富的對(duì)象都有對(duì)應(yīng)的名稱定義,例如,要調(diào)用SQL數(shù)據(jù)庫(kù)就必須使用System.Data.SqlClient,要使用文本文件就必須使用System.IO, 要使用XML就必須使用System.Xml,這些就是命名空間。在命名空間里面包含類(Class),這些類都可以被看作為對(duì)象,它們有自己的屬
28、性、方法。因此每個(gè)命名空間可以看作是同類型對(duì)象的集合。所以在ASP.NET中需要用到某個(gè)對(duì)象時(shí),就需要引入相應(yīng)的命名空間。.NET類庫(kù)、命名空間、類之間的關(guān)系可以用圖2.2表示。</p><p> 圖2.2 .NET類結(jié)構(gòu)模型</p><p> 因此,簡(jiǎn)單地說(shuō),.NET框架就是通過Framework提供對(duì).NET的支持,并使用其豐富的類庫(kù)進(jìn)行程序的開發(fā)。[5]</p>&
29、lt;p> 2.2 Web應(yīng)用程序模型</p><p> 早期Web上的所有信息都是靜態(tài)的,Web服務(wù)器僅僅對(duì)從本地文件系統(tǒng)下載靜態(tài)的HTML的請(qǐng)求做出響應(yīng),并把該網(wǎng)頁(yè)發(fā)送給發(fā)出請(qǐng)求的客戶。靜態(tài)技術(shù)的優(yōu)點(diǎn)在于可以以很高的效率提供信息的訪問,并且站點(diǎn)的架設(shè)與開發(fā)都相當(dāng)容易。</p><p> 隨著Web的迅速普及,人們開始給靜態(tài)的HTML網(wǎng)頁(yè)添加動(dòng)態(tài)的內(nèi)容以開發(fā)各種豐富的應(yīng)用領(lǐng)
30、域。動(dòng)態(tài)Web的技術(shù)發(fā)展主要有兩個(gè)方向:服務(wù)器端技術(shù)和客戶端技術(shù)。</p><p> 服務(wù)器端技術(shù)指在Web服務(wù)器端,根據(jù)客戶的請(qǐng)求,動(dòng)態(tài)生成相應(yīng)的內(nèi)容,然后發(fā)送給客戶端瀏覽器。早期的服務(wù)器端技術(shù)有CGI(Common Gateway Interface,通用網(wǎng)關(guān)接口),ISAPI(Internet Server Application Programming Interface, 因特網(wǎng)服務(wù)器應(yīng)用程序編程接口
31、),F(xiàn)astCGI等,后期有Serverlet、JSP、ASP、PHP等。[6]</p><p> 我們僅僅簡(jiǎn)單研究一下ASP然后過渡到我們構(gòu)建系統(tǒng)時(shí)所使用的ASP.NET。</p><p> ASP屬于一種較新的服務(wù)器端動(dòng)態(tài)技術(shù),它只能和微軟的IIS(Internet Information Server,因特網(wǎng)信息服務(wù)器)配合使用。ASP技術(shù)的核心是ASP文件,每一個(gè)ASP文件由腳
32、本語(yǔ)言與HTML語(yǔ)言混合寫成。Web服務(wù)器在收到客戶瀏覽器的請(qǐng)求后,首先在一個(gè)獨(dú)立的環(huán)境中加載ASP文件,然后分析文件中嵌入的腳本并編譯與執(zhí)行這些腳本指令,最后Web服務(wù)器把腳本執(zhí)行的輸出結(jié)果返回到客戶端。</p><p> 2.2.1 ASP.NET的基本概念</p><p> ASP.NET是用于創(chuàng)建動(dòng)態(tài)Web內(nèi)容的一種強(qiáng)大的服務(wù)器端技術(shù),較之ASP是一個(gè)質(zhì)的飛躍。</p&
33、gt;<p> ASP.NET與其底層框架.NET緊密結(jié)合,為動(dòng)態(tài)的Web開發(fā)技術(shù)提供了豐富而強(qiáng)大的類庫(kù)資源。ASP.NET與.NET Framework的結(jié)合關(guān)系如圖2.3所示。</p><p> 圖2.3 ASP.NET與.NET Framework</p><p> ASP.NET將事件模型引入到Web應(yīng)用程序的開發(fā)領(lǐng)域。與事件模型對(duì)應(yīng)的應(yīng)用程序模型是傳統(tǒng)的順序
34、執(zhí)行模型。最早的基于字符界面的應(yīng)用程序采用的就是順序執(zhí)行模型,也就是由應(yīng)用程序來(lái)控制用戶的交互流程,當(dāng)程序需要用戶輸入某些信息時(shí),在屏幕上就會(huì)出現(xiàn)提示。隨著Windows應(yīng)用的興起,事件模型成為圖形用戶界面(Graphics User Interface,GUI)的應(yīng)用程序的標(biāo)準(zhǔn),這種模型下用戶控制應(yīng)用程序的運(yùn)行流程。用戶通過鼠標(biāo)、鍵盤向應(yīng)用程序發(fā)出事件,程序響應(yīng)這些事件以完成相應(yīng)的功能。[7][8]</p><p&
35、gt; 最早的Web應(yīng)用程序模型也采用順序執(zhí)行模型。服務(wù)器端的腳本一次處理所有的腳本指令,然后把生成的動(dòng)態(tài)信息發(fā)送給客戶端。隨著Windows圖形界面程序的普及,HTML表單也越來(lái)越趨近于Windows程序的交互風(fēng)格,用戶通常需要和頁(yè)面進(jìn)行各種復(fù)雜的交互。</p><p> 從理論上講,這種圖形界面的應(yīng)用采用事件模型更為合理,但由于底層協(xié)議的問題,絕大部分的Web開發(fā)技術(shù)還是采用了順序模型。圖2.4顯示了事件
36、模型與順序模型的區(qū)別。</p><p> 圖2.4 事件模型與順序模型</p><p> ASP.NET可以使用多種語(yǔ)言開發(fā)。從原理上說(shuō),凡是可以在.NET平臺(tái)開發(fā)應(yīng)用的語(yǔ)言以及可以生成微軟中間語(yǔ)言代碼(MSIL)的編譯器,都可用來(lái)開發(fā)ASP.NET。目前主要的語(yǔ)言有Visual Basic .NET、C#、Jscript .NET以及受托管的C++(Managed C++)等。采用
37、這些語(yǔ)言書寫的源程序被編譯為微軟中間語(yǔ)言以后,其底層代碼沒有任何區(qū)別,可以互相調(diào)用各自生成的對(duì)象。</p><p> ASP.NET文件類型如表2.1。</p><p> 表2.1 ASP.NET的文件類型</p><p> 2.2.2 NGWS Runtime</p><p> ASP.NET是一種編譯型編程框架,它的核心是NG
38、WS Runtime。</p><p> NGWS Runtime提供一種運(yùn)行時(shí)環(huán)境,叫做公用語(yǔ)言運(yùn)行時(shí),它管理代碼的執(zhí)行,并提供使編程更容易的服務(wù),這些服務(wù)包括:</p><p><b> 交叉語(yǔ)言集成。</b></p><p><b> 自動(dòng)內(nèi)存管理。</b></p><p><b&
39、gt; 交叉語(yǔ)言異常處理。</b></p><p><b> 增強(qiáng)安全。</b></p><p><b> 版本支持。</b></p><p> 組件交互簡(jiǎn)化模式。[9]</p><p> 2.2.3 ADO.NET</p><p> (1) ADO
40、.NET簡(jiǎn)介</p><p> ADO.NET是ADO的升級(jí)版本。在ADO.NET中,通過Managed Provider 提供的應(yīng)用程序編程接口(API),可以輕松地訪問各種數(shù)據(jù)庫(kù)資源。</p><p> ADO.NET中對(duì)數(shù)據(jù)庫(kù)的訪問接口分為兩類,通用接口和專用接口。通用接口主要支持ODBC和OLEDB兩大接口的數(shù)據(jù)庫(kù),而這兩個(gè)接口幾乎能訪問所有的數(shù)據(jù)庫(kù)。專用接口訪問的數(shù)據(jù)庫(kù)比較特
41、殊,例如SqlClient數(shù)據(jù)庫(kù)接口只能訪問SQL Server 數(shù)據(jù)庫(kù),MySqlClient接口只能訪問MySql數(shù)據(jù)庫(kù),Oracle接口只能訪問Oracle數(shù)據(jù)庫(kù)。專用接口在性能方面一般優(yōu)于通用接口。因此在程序的數(shù)據(jù)庫(kù)不需要變動(dòng)的情況下,采用專用接口是比較科學(xué)的。</p><p> ADO.NET 中最重要的兩個(gè)概念是Managed Provider和DataSet。</p><p&g
42、t; Managed Provider</p><p> 在以前的ASP中,通過ADO的數(shù)據(jù)存取采用了兩層的基于連接的編程模型。隨著多層應(yīng)用需求的不斷增加,程序員需要無(wú)連接的模型。Managed Provider就是多層次的無(wú)連接編程模型。它提供DataSet與數(shù)據(jù)庫(kù)之間的聯(lián)系,包括存取數(shù)據(jù)庫(kù)的一系列接口,主要包括以下三個(gè)部件。</p><p> Connection、Command
43、和Parameter。這三個(gè)對(duì)象提供DataSet與數(shù)據(jù)庫(kù)之間的接口。DataCommand接口定義數(shù)據(jù)列和表映射,并最終返回DataSet供程序操作。</p><p> 數(shù)據(jù)流提供高性能的數(shù)據(jù)存取機(jī)制,通過DataReader可以高效地訪問數(shù)據(jù)流。</p><p> 通過更底層的對(duì)象允許連接到數(shù)據(jù)庫(kù),然后執(zhí)行數(shù)據(jù)庫(kù)的特定命令,提供高性能的數(shù)據(jù)庫(kù)訪問操作。</p><
44、;p><b> DataSet</b></p><p> DataSet是ADO.NET的中心概念,稱為數(shù)據(jù)庫(kù)容器,可認(rèn)為其是保留在內(nèi)存中的數(shù)據(jù)庫(kù)。DataSet可以屏蔽各種數(shù)據(jù)庫(kù)的差異,所有的數(shù)據(jù)源通過DataSet獲得一致的編程模式。DataSet支持表、表間關(guān)系、數(shù)據(jù)約束等功能,這和關(guān)系型數(shù)據(jù)庫(kù)的基本模型是一致的。</p><p> DataTabl
45、e對(duì)象</p><p> DataSet里的表是用DataTable來(lái)表示的。DataSet可以包含很多個(gè)DataTable,這些DataTable構(gòu)成DataCollection對(duì)象。在DataTable中包含ColumnsCollection對(duì)象,它代表數(shù)據(jù)表的各個(gè)列;還包含RowCollection對(duì)象,它代表數(shù)據(jù)表中的各個(gè)行。</p><p> DataRelation對(duì)象&l
46、t;/p><p> 多個(gè)DataTable可以通過DataRelation建立關(guān)系,這些DataRelation形成集合,稱為RelationConnection,它是DataSet的子對(duì)象。Relation表示數(shù)據(jù)表之間的主鍵與外鍵的關(guān)系,當(dāng)兩個(gè)有這種關(guān)系的表之中的某個(gè)表的記錄指針移動(dòng)時(shí),另一個(gè)表的記錄指針也隨之移動(dòng)。當(dāng)有外鍵的記錄更新時(shí),如果不滿足主鍵-外鍵關(guān)系,更新將會(huì)失敗。 </p>
47、<p> (2) 使用ADO.NET訪問數(shù)據(jù)庫(kù)</p><p> ADO.NET中最重要的概念是DataSet,DataSet是不依賴于數(shù)據(jù)庫(kù)的獨(dú)立數(shù)據(jù)集合。即便數(shù)據(jù)連接斷開,DataSet依然可用。通過DataSet,ADO.NET訪問數(shù)據(jù)庫(kù)的步驟為:</p><p> 創(chuàng)建與數(shù)據(jù)源的連接。</p><p><b> 請(qǐng)求數(shù)據(jù)集合。&l
48、t;/b></p><p> 將集合放入DataSet中。</p><p> 如果需要的話,可以再請(qǐng)求另外的數(shù)據(jù)集合。</p><p><b> 關(guān)閉數(shù)據(jù)連接。</b></p><p> 在DataSet上進(jìn)行所需要的操作。</p><p> 如果需要,將DataSet的變化更新到
49、數(shù)據(jù)庫(kù)中?!?lt;/p><p> 在Windows平臺(tái)下ADO.NET主要由三種數(shù)據(jù)庫(kù)訪問模式:OLEDB模式、ODBC模式、SqlClient模式。我們這里主要研究和使用SqlClient模式。SqlClient只用于訪問MS SqlServer數(shù)據(jù)庫(kù),是ADO.NET中的比較特殊的組件。使用SqlClient模式時(shí)需要引入的命名空間有System.Data和System.Data.SqlClient。<
50、/p><p> ?。╥) 連接數(shù)據(jù)庫(kù)(SQL Server的連接)</p><p> SqlClient模式是ADO.NET中對(duì)SQL Server數(shù)據(jù)庫(kù)推薦使用的訪問模式,是專門針對(duì)SQL Server而設(shè)計(jì)的訪問接口,能提供高效、穩(wěn)定的數(shù)據(jù)庫(kù)訪問服務(wù)。在設(shè)定數(shù)據(jù)庫(kù)連接時(shí)需指定SQL Server服務(wù)器、具有所需數(shù)據(jù)庫(kù)訪問權(quán)限的用戶名及密碼、所要訪問的數(shù)據(jù)庫(kù)名稱等參數(shù)。</p>
51、<p> 常見連接數(shù)據(jù)庫(kù)的格式為:</p><p> SqlConnection myConnection=new SqlConnection("server=服務(wù)器;uid=用戶名;pwd=密碼;database=數(shù)據(jù)庫(kù)");</p><p> (ii) 使用Command執(zhí)行數(shù)據(jù)庫(kù)操作</p><p> 使用Command執(zhí)行數(shù)據(jù)庫(kù)操作一般
52、需要三個(gè)步驟:</p><p> ?、沤?shù)據(jù)庫(kù)連接,使用Connection對(duì)象的Open()方法。</p><p> ?、茍?zhí)行數(shù)據(jù)庫(kù)操作,使用ExecuteReader()或ExecuteNonQuery()執(zhí)行數(shù)據(jù)庫(kù)命令。</p><p> ?、顷P(guān)閉數(shù)據(jù)庫(kù)連接,使用Connection對(duì)象的Close()方法。[10][11]</p><p
53、> 第三章 系統(tǒng)總體設(shè)計(jì)</p><p> 軟件系統(tǒng)的設(shè)計(jì)大約要經(jīng)歷可行性分析,項(xiàng)目開發(fā)計(jì)劃,需求分析總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試以及維護(hù)等七個(gè)階段??尚行苑治龊晚?xiàng)目開發(fā)計(jì)劃在前面已經(jīng)敘述,下面所要做的是進(jìn)行軟件需求分析,概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。編碼過程將在下一節(jié)論述,而測(cè)試和維護(hù)過程不在本文敘及。</p><p> 3.1 系統(tǒng)需求分析</p><p>
54、 校園舊貨交易系統(tǒng)主要面向管理員、賣方和買方三個(gè)角色。角色是與系統(tǒng)交互的人或事,可以向系統(tǒng)發(fā)送消息,從系統(tǒng)中接受消息,或是在系統(tǒng)中交換信息。在這三個(gè)角色中,系統(tǒng)管理員對(duì)系統(tǒng)具有最高權(quán)限,可以進(jìn)行除信息發(fā)布、查詢、刪除、更改等一般操作外,還可以對(duì)系統(tǒng)功能單元、頁(yè)面布局、成員資料進(jìn)行合理修改。賣方和買方在某種程度上屬權(quán)限受限用戶。</p><p> 在經(jīng)過前一階段的角色分化之后,本課題主要研究校園舊貨交易系統(tǒng)中“
55、賣方角色”模塊的設(shè)計(jì)與開發(fā)?,F(xiàn)在所要做的是要準(zhǔn)確定義賣方角色在系統(tǒng)中的工作以及系統(tǒng)必須具備的功能。</p><p> 使用用例圖分析校園舊貨交易系統(tǒng)中賣方角色要實(shí)現(xiàn)的功能。用例代表的是一個(gè)完整的功能。UML中的用例是動(dòng)作步驟的集合。動(dòng)作是系統(tǒng)的一次執(zhí)行。用例所代表的功能必須由角色激活,而后才能執(zhí)行。用例必須為角色提供實(shí)在的值,雖然這個(gè)值并不總是重要的,但是能被角色識(shí)別。UML中的用例用橢圓表示,用例的名字寫在橢
56、圓的內(nèi)部或下方。用例位于系統(tǒng)邊界的內(nèi)部。角色與用例之間的關(guān)聯(lián)關(guān)系用一條直線表示。如圖3.1,可知賣方角色在系統(tǒng)中的功能主要包括四個(gè)</p><p> 圖3.1 校園舊貨交易系統(tǒng)(賣方)用例圖</p><p> 方面:瀏覽商品信息、注冊(cè)用戶、發(fā)布商品信息以及回復(fù)買方關(guān)于商品信息咨詢的留言。[12]</p><p> 為了使系統(tǒng)運(yùn)行時(shí)更符合實(shí)際情況,我們還必須考慮
57、賣方角色在交易系統(tǒng)中的行為變化。我們使用狀態(tài)圖來(lái)描述這一過程。狀態(tài)圖主要用來(lái)描述對(duì)象、系統(tǒng)、子系統(tǒng)的生命周期。通過狀態(tài)圖可以了解到一個(gè)對(duì)象所能到達(dá)的所有狀態(tài)以及對(duì)象收到的事件對(duì)對(duì)象狀態(tài)的影響,而改變對(duì)象狀態(tài)的事情稱為事件。一個(gè)狀態(tài)圖可以有一個(gè)起點(diǎn)和多個(gè)終點(diǎn)。起點(diǎn)用一個(gè)黑圓點(diǎn)表示,終點(diǎn)用一個(gè)黑圓點(diǎn)外加一個(gè)圓表示。狀態(tài)圖中的狀態(tài)用一個(gè)圓角四邊形表示。狀態(tài)之間的狀態(tài)轉(zhuǎn)移,用一條帶箭頭的線表示。如圖3.2。</p><p&g
58、t; 圖3.2校園舊貨交易系統(tǒng)(賣方)狀態(tài)圖</p><p> 賣方用戶進(jìn)入交易系統(tǒng)后,首先是進(jìn)入商品信息瀏覽頁(yè)面。這將碰到多種情況:一是用戶沒有新的商品信息要發(fā)布(這種情況下,用戶被默認(rèn)為合法的賣方用戶),只是查看買方對(duì)以前商品的評(píng)論并回復(fù)留言,然后退出系統(tǒng);二是僅僅需要聯(lián)系管理員,咨詢相關(guān)問題或發(fā)出請(qǐng)求,然后退出系統(tǒng);最典型的一種情況是,賣方用戶有新的商品需要銷售,準(zhǔn)備發(fā)布新的商品銷售信息。當(dāng)用戶具有合法
59、身份時(shí),可以進(jìn)入商品信息發(fā)布區(qū)直接發(fā)布商品信息。若為非合法用戶,需先注冊(cè)用戶信息獲得一個(gè)合法的身份ID號(hào),然后再進(jìn)入商品信息發(fā)布區(qū)發(fā)布商品信息。完成后退出系統(tǒng)。[13]</p><p> 圖3.2只是簡(jiǎn)要描述一下賣方角色在系統(tǒng)中的行為流程,而沒有考慮用戶可能因?yàn)槟撤N原因而在兩個(gè)狀態(tài)間往復(fù)的情況。例如用戶在注冊(cè)身份信息時(shí),可能第一次注冊(cè)失敗,需要重新注冊(cè)的情況;或是在成功發(fā)布商品信息后,并不愿退出系統(tǒng),而是希望繼
60、續(xù)查看商品信息的情況。簡(jiǎn)潔化狀態(tài)圖,可以使賣方在系統(tǒng)中所要完成的功能更加明晰,更利于劃分系統(tǒng)的功能模塊。</p><p> 3.2 系統(tǒng)功能模塊分析</p><p> 根據(jù)前面的設(shè)計(jì)思想進(jìn)行分析,按照系統(tǒng)開發(fā)的基本觀點(diǎn)對(duì)網(wǎng)站進(jìn)行分解,從內(nèi)容上可對(duì)網(wǎng)站作如下劃分:</p><p> 商品信息瀏覽 按照商品的類別實(shí)現(xiàn)對(duì)商品信息的查詢,同時(shí)可以查閱特定商品的細(xì)節(jié)信
61、息。</p><p> 商品信息發(fā)布 合法賣方可發(fā)布所售商品的信息,包括商品的類別、名稱、價(jià)錢以及其它一些相關(guān)信息。</p><p> 商品信息討論 賣方、買方對(duì)商品交易進(jìn)行討論,包括是否滿意價(jià)格、商品信息咨詢與回答以及買賣雙方具體的聯(lián)系方式。</p><p> 用戶信息填寫 主要針對(duì)于賣方用戶。要求賣方用戶填寫具體的身份信息,包括姓名、住址、電話等。注
62、冊(cè)成功后,系統(tǒng)分配賣方用戶一個(gè)合法的用戶ID,用戶可通過此ID進(jìn)行商品信息的發(fā)布。這一模塊主要防止非法用戶發(fā)放虛假的、帶有欺騙性的信息。</p><p> 3.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 在信息世界中,信息從客觀事物出發(fā)流經(jīng)數(shù)據(jù)庫(kù),通過決策機(jī)構(gòu)最后又回到客觀世界,信息的這一循環(huán)經(jīng)歷了三個(gè)領(lǐng)域:信息世界,數(shù)據(jù)世界,現(xiàn)實(shí)世界。現(xiàn)實(shí)世界的事物反映到人的頭腦中,人的大腦對(duì)它有個(gè)認(rèn)識(shí)過
63、程,經(jīng)過分析(選擇、命名、分類等)進(jìn)入信息世界。這些信息再進(jìn)一步加工、編碼,然后進(jìn)入數(shù)據(jù)世界,而軟件系統(tǒng)的開發(fā)工作需要考慮這兩個(gè)方面的問題,也就是要考慮系統(tǒng)開發(fā)所需要的數(shù)據(jù),以及如何對(duì)這些數(shù)據(jù)進(jìn)行操作。這兩個(gè)問題貫穿了整個(gè)軟件系統(tǒng)的開發(fā)過程,這也就是數(shù)據(jù)庫(kù)的設(shè)計(jì)問題,軟件設(shè)計(jì)的一個(gè)核心。</p><p> 3.3.1 ER圖設(shè)計(jì)</p><p> 在系統(tǒng)設(shè)計(jì)的開始,首先考慮的是如何用
64、數(shù)據(jù)模型來(lái)定義數(shù)據(jù)庫(kù)的結(jié)構(gòu)與語(yǔ)義,以對(duì)現(xiàn)實(shí)世界進(jìn)行抽象。目前廣泛使用的數(shù)據(jù)模型可分為兩種類型,一種是獨(dú)立于計(jì)算機(jī)系統(tǒng)的“概念數(shù)據(jù)模型”,如“實(shí)體聯(lián)系模型”;另一種是直接面向數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的“結(jié)構(gòu)數(shù)據(jù)模型”。在本系統(tǒng)中我采用“實(shí)體聯(lián)系模型”(ER模型)來(lái)描述數(shù)據(jù)庫(kù)的結(jié)構(gòu)與語(yǔ)義,以對(duì)現(xiàn)實(shí)世界進(jìn)行第一次抽象。ER模型直接從現(xiàn)實(shí)世界抽象出實(shí)體類型及實(shí)體間聯(lián)系,然后用ER圖來(lái)表示數(shù)據(jù)模型。它有兩個(gè)明顯的優(yōu)點(diǎn):接近于人的思維,容易理解;與計(jì)算機(jī)無(wú)關(guān)
65、,用戶容易接受。但ER模型只能說(shuō)明實(shí)體間語(yǔ)義的聯(lián)系,不能進(jìn)一步說(shuō)明詳細(xì)的數(shù)據(jù)結(jié)構(gòu),它只是數(shù)據(jù)庫(kù)設(shè)計(jì)的第一步。 ER圖是直觀表示概念模型的工具,它有四個(gè)基本成分:● 矩形框,表示實(shí)體類型(考慮問題的對(duì)象)。</p><p> ● 菱形框,表示聯(lián)系類型(實(shí)體間的聯(lián)系)?!?橢圓形框,表示實(shí)體類型和聯(lián)系類型的屬性。對(duì)于關(guān)鍵碼的屬性,在屬性名下劃一橫線。●直線,聯(lián)系類型與其涉及的實(shí)體類型之間以直線連接。<
66、;/p><p> 圖3.3即為系統(tǒng)中賣方角色的ER圖。</p><p> 圖3.3 校園舊貨交易系統(tǒng)中賣方角色ER圖</p><p> 3.3.2 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 采用的數(shù)據(jù)庫(kù)是Microsoft SQL Server 2005,擬建立SchoolTrade.mdf庫(kù)文件,包含以下幾個(gè)表文件:</p>
67、<p> Forum 留言信息表。Forum表用來(lái)存儲(chǔ)賣方和買方的交流信息。其中的forumID字段,設(shè)為主鍵,對(duì)應(yīng)一個(gè)討論的板塊。在本系統(tǒng)中,將forumID在數(shù)值上設(shè)為與一個(gè)特定商品的商品ID號(hào),即productID號(hào)相等,即一個(gè)商品對(duì)應(yīng)一個(gè)討論區(qū)。在Forum中,需要記錄訪客的相關(guān)信息。guestName、guestTel、guestMsg分別存儲(chǔ)訪客的名稱、電話號(hào)碼和留言內(nèi)容。</p><p>
68、; 表3.1 Forum表</p><p> Product 商品信息表。在商品信息表中,商品的ID號(hào)設(shè)為主鍵。productName、catalogID、productState、productNote、productData、productPrice分別代表商品的名稱、所屬類別、賣方的ID號(hào)、商品待售狀態(tài)(是否已被銷售)、關(guān)于商品的詳細(xì)描述、商品信息發(fā)布日期以及商品的價(jià)格。</p><
69、p> 表3.2 Product表</p><p> ProductCatalog 商品分類信息表。僅僅包括catalogID和catalogName兩個(gè)字段,分別表示商品類的ID號(hào)和商品類的名稱。</p><p> 表3.3 ProductCatalog表</p><p> UserInfo 用戶信息表。用戶信息存儲(chǔ)賣方的相關(guān)信息。UserID表示用戶
70、的ID號(hào),作為主鍵。userName、userTel分別表示用戶的名稱和電話號(hào)碼。外鍵為商品的ID號(hào)。</p><p> 表3.4 UserInfo表</p><p> 第四章 應(yīng)用程序設(shè)計(jì)</p><p> 4.1 網(wǎng)頁(yè)頁(yè)面設(shè)計(jì)</p><p> 4.1.1 網(wǎng)頁(yè)頁(yè)面設(shè)計(jì)</p><p> 網(wǎng)站主頁(yè)采用靜
71、、動(dòng)相結(jié)合的方式,即靜態(tài)的主頁(yè)面和動(dòng)態(tài)的交互模塊相結(jié)合。靜態(tài)主頁(yè)主要包含系統(tǒng)的名稱,即網(wǎng)站的名稱:“西電JOY”;網(wǎng)站的口號(hào):“有交易,就有JOY”;還包括一些鏈接條,具體包括:</p><p> “首頁(yè)”,鏈接到管理員所實(shí)現(xiàn)的校園舊貨交易系統(tǒng)的最終首頁(yè)上。</p><p> “系統(tǒng)簡(jiǎn)介”,介紹系統(tǒng)總體架構(gòu)、布局以及模塊分化和角色承擔(dān)。</p><p> “團(tuán)
72、隊(duì)介紹”,主要介紹系統(tǒng)開發(fā)和維護(hù)者的詳細(xì)信息,分管理員角色、賣方角色和買方角色三個(gè)部分。</p><p> “技術(shù)支持”,介紹系統(tǒng)構(gòu)建所使用到的技術(shù)知識(shí),包括.NET環(huán)境,以及.NET環(huán)境下C#、ASP.NET 2.0、ADO.NET的相關(guān)應(yīng)用。</p><p> “站點(diǎn)新聞”,通知用戶系統(tǒng)近期發(fā)生的更改和變化,或是發(fā)布關(guān)于系統(tǒng)團(tuán)隊(duì)成員信息的更新情況。</p><p
73、> “常見問題”,提示系統(tǒng)使用者在使用系統(tǒng)的過程中可能遇到的困難或出現(xiàn)的錯(cuò)誤,以及相應(yīng)的解決方案。</p><p> “聯(lián)系我們”,用戶向系統(tǒng)團(tuán)隊(duì)成員提出建議和意見,或是咨詢其它信息。</p><p> 在創(chuàng)建HTML頁(yè)面時(shí),使用到CSS(cascading stylesheet,級(jí)聯(lián)樣式表)技術(shù)。CSS如同HTML的<img>和<table>標(biāo)記一樣,
74、也是HTML的一部分。在頁(yè)面中加入樣式表的一些信息,只是加入一些特殊的代碼,并不需要做其它的事情。</p><p> 通過將樣式表信息插入到頁(yè)面中,就可以設(shè)置HTML頁(yè)面的外觀。例如,用樣式表可以說(shuō)明“在文本中所有文本字體為16點(diǎn)粗體Arial”或者“有一文字為‘banner’的層,它被設(shè)置距瀏覽器邊界60個(gè)像素,距瀏覽器窗口頂端90個(gè)像素處”。甚至可說(shuō)明為“當(dāng)文中用到<b>標(biāo)記時(shí),就使文本以粗體和
75、斜體顯示”。</p><p> 例如在下面的一段代碼中:</p><p><b> TD</b></p><p><b> {</b></p><p> FONT-SIZE: 11px;</p><p> Color: #000000;</p><
76、;p> font-family: “Arial”, Helvetica, sans-serif</p><p><b> }</b></p><p> 這段代碼指定了在TD中字體大小為11px,顏色為#000000(黑色),使用的字體:Arial。Arial上加了引號(hào),但這并不是必須的,這樣做只是為了加強(qiáng)程序的可讀性。如果用戶的系統(tǒng)沒有Arial字體,網(wǎng)頁(yè)
77、就會(huì)自動(dòng)查找Helvetica。如果用戶的系統(tǒng)也沒有Helvetica字體,網(wǎng)頁(yè)就會(huì)使用用戶系統(tǒng)默認(rèn)的sans-serif字體。[14] </p><p> 使用.master文件創(chuàng)建網(wǎng)頁(yè)模板,然后將預(yù)先生成的靜態(tài)的HTML網(wǎng)頁(yè)嵌套進(jìn)去。再由此模板生成“待售商品信息瀏覽”、“商品發(fā)布頁(yè)”、“商品討論”、“填寫個(gè)人信息”四個(gè).aspx文件,以備稍后構(gòu)建賣方角色部分的四個(gè)功能模塊。</p><p
78、> 生成的網(wǎng)頁(yè)模板如圖4.1。</p><p> 4.1 校園舊貨交易系統(tǒng)頁(yè)面模板</p><p> 4.1.2 系統(tǒng)構(gòu)建中使用的若干簡(jiǎn)單控件的介紹</p><p> ●Button控件 Button控件在執(zhí)行后將會(huì)解析為<input type="submit">代碼。它的優(yōu)點(diǎn)在于提交程序的同時(shí)也能傳遞參數(shù)。</p>&l
79、t;p> Button.Onclick方法 當(dāng)單擊 Button 控件時(shí)會(huì)引發(fā) Click 事件。當(dāng)沒有與 Button 控件關(guān)聯(lián)的命令名時(shí),通常使用該事件。引發(fā)事件時(shí)會(huì)通過委托調(diào)用事件處理程序。</p><p> CheckBox與CheckBoxList控件 這兩個(gè)控件會(huì)被解析成為<input type="checkbox">代碼。CheckBox控件將會(huì)解析為單個(gè)的<input
80、 type="checkbox">標(biāo)簽。通過檢測(cè)其Checked屬性來(lái)判斷CheckBox控件是否被選中。注意CheckBox控件的AutoPostBack屬性,當(dāng)AutoPostBack屬性設(shè)置為“True”時(shí),單擊該CheckBox控件,頁(yè)面會(huì)自動(dòng)提交,同時(shí)執(zhí)行OnClick或OnCheckedChanged事件指定的事件處理。如果AutoPostBack屬性設(shè)置為“False”而使用了OnClick或OnCheckedCha
81、nged事件,程序會(huì)報(bào)錯(cuò)。</p><p> CheckBoxList控件可以看作多個(gè)CheckBox控件的集合,由<asp:ListItem></asp:ListItem>定義的子項(xiàng)表示一個(gè)CheckBox控件。</p><p> RadioButton與RadioButtonList控件 RadioButton控件與RadioButtonList控件之間的
82、關(guān)系等同于CheckBox控件和CheckBoxList之間的關(guān)系。RadioButton控件與RadioButtonList控件會(huì)被解析為代碼<input type="radio">。需要注意RadioButton控件的GroupName屬性。因?yàn)镽adio是單選按鈕,當(dāng)多個(gè)RadioButton一起使用時(shí),必須為這些RadioButton確定GroupName,以保證每組類型中只有一個(gè)按鈕被選中。</p>
83、<p> ● Image與ImageButton控件 Image控件與ImageButton控件最終被解析為<img>。Image控件只是簡(jiǎn)單地完成一個(gè)圖像的顯示任務(wù),它的主要屬性有:</p><p> (1) ImageUrl:設(shè)置圖像的URL。</p><p> (2) AlternateText:設(shè)置當(dāng)圖像未正確下載時(shí)在圖像位置出現(xiàn)的文字。</p&
84、gt;<p> (3) ImageAlign:設(shè)置圖像在容器中的位置。</p><p> ImageButton控件不僅擁有Image控件的主要屬性,而且由于其自身屬于Button類控件,所以它也同時(shí)擁有Button類控件的一切特型,最明顯也是最實(shí)用的特性是支持事件處理。</p><p> ImageButton支持的事件有OnClick、OnCommand、onmou
85、seover、onmouseout。</p><p> ● HyperLink與LinkButton控件 HyperLink控件與LinkButton控件最終都將會(huì)解析為代碼<a></a>。</p><p> (1) NavigateUrl屬性:表示HyperLink控件需要鏈接到的URL地址。</p><p> (2) ImageU
86、rl屬性:表示超級(jí)鏈接上的圖片。這是可選的,如果不定義此屬性,那么鏈接上將顯示Text屬性設(shè)定的文字。</p><p> (3) Text屬性:當(dāng)ImageUrl 屬性設(shè)定時(shí),表示圖片的說(shuō)明性文字;如果ImageUrl屬性沒有設(shè)定,那么Text所指定的文字將會(huì)作為鏈接文字顯示。</p><p> (4) Target屬性:表示打開鏈接的窗口名。</p><p>
87、 ● LinkButton控件與HyperLink控件不同之處在于:HyperLink控件僅僅是產(chǎn)生一個(gè)有URL指向的超級(jí)鏈接;而LinkButton控件則不同,它屬于Button類控件,它本身支持事件處理,因此它沒有NavigateUrl屬性,它的URL鏈接功能主要是由事件處理來(lái)完成。</p><p> LinkButton控件支持OnClick、OnCommand事件。</p><p&
88、gt; DropDownList與ListBox控件 DropDownList控件與ListBox控件最終將會(huì)被解析成為代碼<select></select>。</p><p> AutoPostBack屬性:表示當(dāng)DropDownList控件的所選項(xiàng)發(fā)生變化后,是否自動(dòng)提交當(dāng)前頁(yè)面。</p><p> OnSelectedIndexChanged事件在Dr
89、opDownList控件所選項(xiàng)發(fā)生變化后發(fā)生。</p><p> DropDownList控件的SelectedItem對(duì)象表示在執(zhí)行過程中被選中的Item項(xiàng)。Item項(xiàng)擁有三個(gè)屬性。Text和Value分別表示Item項(xiàng)所顯示的文字與所表示的值。如果Value屬性沒有設(shè)置,則默認(rèn)Value屬性值等于Text屬性。第三個(gè)屬性Selected則用于判斷某Item項(xiàng)是否被選中。</p><p&g
90、t; 添加DropDownList控件的Item子項(xiàng),除了用<asp:ListItem >方法外,還可以在程序執(zhí)行代碼中使用Items屬性的Add方法。Items屬性表示DropDownList控件所有Item項(xiàng)的集合,Add操作即是在這個(gè)集合中插入的新的Item項(xiàng)。</p><p> Label控件 Label控件會(huì)被解析為代碼<span></span>,作用在控件中顯
91、示指定的文字或代碼。</p><p> Panel控件 Panel控件將被解析成代碼<div></div>。在HTML中,<div>標(biāo)簽在網(wǎng)頁(yè)中控制包含在其內(nèi)部各種標(biāo)簽的整體屬性,如可見性、字體、顏色等。Panel控件則是將這一特性延伸至服務(wù)器端的產(chǎn)物,它能控制包含在其內(nèi)部各種控件的整體屬性。</p><p><b> 驗(yàn)證控件</
92、b></p><p> (1) RequiredFieldValidator控件 RequiredFieldValidator控件用于驗(yàn)證目標(biāo)控件輸入的數(shù)據(jù)是否不等于InitialValue屬性中設(shè)定的值。InitialValue默認(rèn)值是Empty,所以如果不設(shè)定InitialValue的值,RequiredFieldValidator控件一般用于驗(yàn)證目標(biāo)控件是否有數(shù)據(jù)輸入。</p>&l
93、t;p> (2) CompareValidator控件 CompareValidator控件將用于比較兩個(gè)控件的屬性值或一個(gè)控件與某個(gè)特定的數(shù)據(jù)。ControlToValidate屬性設(shè)定需要比較驗(yàn)證的控件ID值,ControlToCompare屬性設(shè)定與之比較的控件ID值,Operator屬性設(shè)定比較的類型。</p><p> (3) RangeValidator控件 RangeValidator
94、控件用于驗(yàn)證目標(biāo)控件的值是否在指定的MinimumValue與MaximumValue屬性值范圍之間。</p><p> (4) RegularExpressionValidator控件 有時(shí),程序需要判斷輸入的數(shù)據(jù)中是否包含或不包含某些特殊的字符,最常見的是檢驗(yàn)輸入的E-Mail地址是否合法有效,此時(shí)需用到RegularExpressionValidator控件。</p><p>
95、 在RegularExpressionValidator控件中,通過RegularExpression屬性來(lái)設(shè)定正規(guī)表達(dá)式。</p><p> (5) CustomValidator控件 RegularExpressionValidator控件不僅能夠自定義服務(wù)器端的驗(yàn)證函數(shù),而且還能自定義客戶端的驗(yàn)證函數(shù)。驗(yàn)證函數(shù)中的source是指CustomValidator控件,value表示需要驗(yàn)證的值。觸發(fā)客戶端驗(yàn)
96、證的屬性是ClientValidationFunction屬性,觸發(fā)服務(wù)器端驗(yàn)證控件的屬性是OnServerValidate。</p><p> 4.2 待售商品信息瀏覽功能模塊設(shè)計(jì)</p><p> 進(jìn)入網(wǎng)站中的賣方功能部分,用戶可以瀏覽待售的商品信息。</p><p> 首先使用一個(gè)DropDownList控件存儲(chǔ)商品類信息。</p><
97、;p> 關(guān)于DropDownList控件代碼如下:</p><p> <asp:DropDownList ID="ddlSearchPro" runat="server" </p><p> AutoPostBack="True" </p><p> DataSourceID="
98、;SqlDataSource2"</p><p> DataTextField="catalogName"</p><p> DataValueField="catalogID" </p><p> Style="background-color: ivory"></p>
99、<p> </asp:DropDownList></p><p> ID表示此控件的編程名稱;</p><p> AutoPostBack的取值表示當(dāng)在控件中選定的內(nèi)容更改時(shí),是否自動(dòng)回發(fā)到服務(wù)器,這里取值為“True”。</p><p> DataSourceID="SqlDataSource2"表示被用作數(shù)據(jù)源
100、的IDataSource的控件ID為SqlDataSource2。SqlDataSource2數(shù)據(jù)源控件的定義如下:</p><p> <asp:SqlDataSource ID="SqlDataSource2" runat="server" </p><p> ConnectionString="<%$ Connectio
101、nStrings:ConnectionString %>"</p><p> SelectCommand="SELECT * FROM [ProductCatalog]"></p><p> </asp:SqlDataSource></p><p> 其中ConnectionString表示用于連接到數(shù)據(jù)庫(kù)
102、的連接字符串。<%$ ConnectionStrings:ConnectionString %>表達(dá)式前綴定義了表達(dá)式的類型,即ConnectionStrings,冒號(hào)后面的部分是ASP.NET將解析的實(shí)際表達(dá)式值。連接字符串具體為:”Data Source=.\\SQLEXPRESS; AttachDbFilename= |DataDirectory|\\SchoolTrade.mdf;Integrated Securit
103、y=True;User Instance=True”。</p><p> SQL語(yǔ)句為SelectCommand="SELECT * FROM [ProductCatalog]",即從商品類表中提取全部的catalogID和catalogName。</p><p> DataTextField="catalogName",數(shù)據(jù)源中提供項(xiàng)文本的字段
104、為“catalogName”,即在下拉框中顯示的內(nèi)容為商品類的名稱。</p><p> DataValueField="catalogID" ,數(shù)據(jù)源中提供項(xiàng)的值為“catalogID”,即將商品類的ID號(hào)作為下拉框的值。</p><p> 通過GridView控件,顯示商品的若干信息,包括:商品ID號(hào)、商品名稱、商品狀態(tài)、價(jià)格、發(fā)布日期等。</p>
105、<p> GridView控件是ASP.NET 1.x版本中流行控件DataGrid的正式繼承者。2.0中,新控件GridView不僅提供了舊控件的所有功能,還提供了更多的功能。特別是GridView控件可以利用新的Data Source Provider概念更好地工作。</p><p> GridView控件的功能如下:</p><p> 綁定到任何平面結(jié)構(gòu)或多層結(jié)構(gòu)(僅
106、綁定第一層)的數(shù)據(jù)源控件</p><p><b> 內(nèi)置排序功能</b></p><p><b> 選擇數(shù)據(jù)記錄</b></p><p><b> 編輯和刪除數(shù)據(jù)記錄</b></p><p><b> 支持多個(gè)關(guān)鍵字段</b></p>
107、<p> 支持用多個(gè)字段來(lái)創(chuàng)建超鏈接</p><p> 根據(jù)主題(Theme)和風(fēng)格(Style)進(jìn)行可視化的調(diào)整</p><p> 根據(jù)不同的移動(dòng)設(shè)備來(lái)調(diào)整顯示結(jié)果</p><p><b> 指定背景圖片</b></p><p> 設(shè)計(jì)界面圖形如圖4.2。</p><p>
108、 <asp:CommandField SelectText="查看詳細(xì)信息"</p><p> ShowSelectButton="True"></p><p> </asp:CommandField></p><p> CommandField用來(lái)顯示用來(lái)執(zhí)行選擇、編輯或刪除操作的預(yù)定義命令按
109、鈕。這里令按鈕文本為“查看詳細(xì)信息”,對(duì)于數(shù)據(jù)綁定控件中的每個(gè)記錄,通過ShowSelectButton="True"在 CommandField 字段中顯示 “選擇”按鈕。“選擇”按鈕允許用戶在數(shù)據(jù)綁定控件中選擇記錄。</p><p> 圖4.2 待售商品信息瀏覽設(shè)計(jì)界面</p><p> <asp:BoundField DataField="pr
110、oductID" </p><p> HeaderText="商品ID號(hào)" </p><p> InsertVisible="False" </p><p> ReadOnly="True"</p><p> SortExpression="product
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---web校園二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)論文-校園二手商品交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 校園交易系統(tǒng)課程設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---虛擬股票交易系統(tǒng)
- 校園交易管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 校園舊物交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 校園網(wǎng)上交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(畢業(yè)論文)
- 校園二手交易系統(tǒng)詳細(xì)設(shè)計(jì)
- 校園二手商品網(wǎng)上交易系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)──用戶留言管理模塊【畢業(yè)論文】
- 本科畢業(yè)設(shè)計(jì)-基于某大型實(shí)時(shí)交易系統(tǒng)的開發(fā)過程
- 債權(quán)交易系統(tǒng)產(chǎn)品管理模塊的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 校園二手商品交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 科藍(lán)軟件證券交易系統(tǒng)設(shè)計(jì)與開發(fā).pdf
- 電子信息工程畢業(yè)設(shè)計(jì)基于bs模式校園二手物品交易系統(tǒng)
- 基于asp交易系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 電子信息工程畢業(yè)設(shè)計(jì)基于bs模式校園二手物品交易系統(tǒng)
- 證券集中交易系統(tǒng)設(shè)計(jì)
- 本科畢業(yè)論文web校園二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上書店交易系統(tǒng)設(shè)計(jì)——畢業(yè)論文
- 網(wǎng)上書店交易系統(tǒng)設(shè)計(jì)——畢業(yè)論文
評(píng)論
0/150
提交評(píng)論