

版權(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> 隨著商業(yè)競(jìng)爭(zhēng)的不斷加劇以及Internet信息技術(shù)的迅速發(fā)展,網(wǎng)上調(diào)查系統(tǒng)的建立可以為企業(yè)提供起點(diǎn)上的競(jìng)爭(zhēng)力。而隨著計(jì)算機(jī)編程語(yǔ)言的不斷發(fā)展,特別是Microsoft.NET Framework和面向?qū)ο笳Z(yǔ)言C#的出現(xiàn),為開(kāi)發(fā)人員提供了一個(gè)新的平臺(tái)以迅速地開(kāi)發(fā)可維護(hù)、可擴(kuò)展的Web應(yīng)用程序。</p><
2、p> 本文首先簡(jiǎn)要介紹了C#、.NET Framework及其特性,綜述課題的研究背景,然后詳細(xì)敘述基于B/S模式的網(wǎng)上調(diào)查系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),對(duì)其實(shí)現(xiàn)的關(guān)鍵技術(shù)進(jìn)行研究,初步實(shí)現(xiàn)網(wǎng)上調(diào)查系統(tǒng)的基本功能。</p><p> 本文采用SQL Server關(guān)系數(shù)據(jù)庫(kù)管理網(wǎng)上調(diào)查系統(tǒng)的數(shù)據(jù)庫(kù),再利用Visual Studio 2003所提供的可視化編程環(huán)境進(jìn)行系統(tǒng)界面和代碼的設(shè)計(jì)和調(diào)試。</p>
3、<p> 通過(guò)B/S模式的網(wǎng)上調(diào)查系統(tǒng)的實(shí)驗(yàn)運(yùn)行,系統(tǒng)的基本功能得到實(shí)現(xiàn),能夠在后臺(tái)建立調(diào)查的創(chuàng)建,分類(lèi),發(fā)布,修改。前臺(tái)主題的發(fā)布采用用戶控件形式實(shí)現(xiàn),可以實(shí)現(xiàn)一個(gè)調(diào)查分類(lèi)的整體發(fā)布以及單個(gè)調(diào)查主題的發(fā)布。</p><p> 關(guān)鍵詞:網(wǎng)上調(diào)查.NET Framework C#B/S Visual Studio 2003</p><p><b> AB
4、STRACT</b></p><p> With the growing commercial competition and the rapid development of the Internet information technology, online survey system now provide enterprises high competitiveness from the
5、starting line. And the continuous development of programming languages, particularly the emergence of Microsoft.NET Framework and object-oriented language C# altogether, provide a new platform for developers to develop W
6、eb applications more rapidly , which can be expanded and modified easily.</p><p> This paper gave a briefing on C#, NET Framework and its characteristics, and reviewed the issues of background, then describ
7、ed in detail how to design and implement an online survey system based on B / S and studied its key technologies, tried to realize the basic functions of the online survey System. </p><p> In this paper, SQ
8、L Server database use to manage the online survey database and then use Visual Studio 2003 which provides us the visual programming environment for the conduct of system interface and the design and debugging code.</p
9、><p> Through the B / S model online survey system's operation, the system's basic functions are realized. the background functions include establishment survey, classification, publication, and modifi
10、cation. The outlook released by the theme of the form of user controls, can achieve a classification survey Published as well as the release of a single investigation.</p><p> Keywords: online survey.NET F
11、rameworkC# B/S Visual Studio 2003</p><p> 目 錄
12、
13、 </p><p><b> 第一章 緒論1</b></p><p> 1.1 課題研究的背景1</p><
14、;p> 1.2 本文的主要工作3</p><p> 1.3 開(kāi)發(fā)環(huán)境及工具簡(jiǎn)介4</p><p> 1.3.1 什么是.NET Framework4</p><p> 1.3.2 .NET Framework的內(nèi)容4</p><p> 1.3.3 .NET的優(yōu)點(diǎn)6</p><p> 1.3.
15、4 什么是C#7</p><p> 1.4 論文結(jié)構(gòu)8</p><p> 第二章 網(wǎng)上調(diào)查系統(tǒng)分析9</p><p> 2.1 系統(tǒng)需求分析9</p><p> 2.2 系統(tǒng)結(jié)構(gòu)分析9</p><p> 第三章 數(shù)據(jù)庫(kù)設(shè)計(jì)13</p><p> 3.1 數(shù)據(jù)庫(kù)需求分析1
16、3</p><p> 3.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)13</p><p> 3.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)15</p><p> 3.4 數(shù)據(jù)庫(kù)連接代碼設(shè)計(jì)18</p><p><b> 3.5 小結(jié)18</b></p><p> 第四章 系統(tǒng)登錄功能設(shè)計(jì)21</p>&
17、lt;p> 4.1 系統(tǒng)登錄功能概述21</p><p> 4.2 管理員登錄頁(yè)面設(shè)計(jì)21</p><p> 4.3 后臺(tái)頁(yè)面用戶身份判別23</p><p> 第五章 后臺(tái)管理功能設(shè)計(jì)25</p><p> 5.1 后臺(tái)管理功能概述25</p><p> 5.2 后臺(tái)管理主頁(yè)設(shè)計(jì)26&l
18、t;/p><p> 5.2.1 后臺(tái)管理主頁(yè)概述26</p><p> 5.2.2 界面設(shè)計(jì)26</p><p> 5.2.3 代碼設(shè)計(jì)27</p><p> 5.2.4 小結(jié)30</p><p> 5.3 創(chuàng)建調(diào)查頁(yè)面設(shè)計(jì)30</p><p> 5.3.1 創(chuàng)建調(diào)查頁(yè)面概述
19、30</p><p> 5.3.2 界面設(shè)計(jì)30</p><p> 5.3.3 代碼設(shè)計(jì)31</p><p> 5.4 選項(xiàng)修改頁(yè)面設(shè)計(jì)33</p><p> 5.4.1 選項(xiàng)修改頁(yè)面概述33</p><p> 5.4.2 界面設(shè)計(jì)33</p><p> 5.4.3 代碼設(shè)
20、計(jì)35</p><p> 5.5 主題分類(lèi)頁(yè)面設(shè)計(jì)36</p><p> 5.5.1 主題分類(lèi)頁(yè)面概述36</p><p> 5.5.2 界面設(shè)計(jì)36</p><p> 5.6 主題發(fā)布頁(yè)面設(shè)計(jì)38</p><p> 5.6.1 主題發(fā)布頁(yè)面概述38</p><p> 5
21、.6.2 界面設(shè)計(jì)38</p><p> 5.6.3 代碼設(shè)計(jì)39</p><p> 第六章 用戶投票功能設(shè)計(jì)43</p><p> 6.1 用戶投票功能概述43</p><p> 6.2 投票頁(yè)面設(shè)計(jì)44</p><p> 6.2.1 投票頁(yè)面概述44</p><p>
22、 6.2.2 界面設(shè)計(jì)44</p><p> 6.2.3 代碼設(shè)計(jì)46</p><p> 6.3 投票結(jié)果頁(yè)面設(shè)計(jì)48</p><p> 6.3.1 投票結(jié)果頁(yè)面概述48</p><p> 6.3.2 界面設(shè)計(jì)49</p><p> 6.3.3 代碼設(shè)計(jì)49</p><p>
23、;<b> 第七章 結(jié)論53</b></p><p><b> 致 謝54</b></p><p><b> 參考文獻(xiàn)55</b></p><p><b> 緒論</b></p><p><b> 課題研究的背景</b&g
24、t;</p><p> 當(dāng)一個(gè)新產(chǎn)品即將問(wèn)世或一塊新的消費(fèi)市場(chǎng)出現(xiàn),那么有一項(xiàng)工作必將開(kāi)始或已經(jīng)開(kāi)始,那就是市場(chǎng)調(diào)查。調(diào)查的作用不言而喻,他關(guān)系到管理層決策公司戰(zhàn)略發(fā)展方向和目標(biāo)客戶的劃分。當(dāng)前,客戶調(diào)查已經(jīng)成為傳統(tǒng)企業(yè)實(shí)施市場(chǎng)策略的重要手段之一,通過(guò)開(kāi)展調(diào)查,可以迅速的了解不同層次,不同行業(yè)的人員需求愛(ài)好,客觀的收集需求信息,調(diào)整修正產(chǎn)品的營(yíng)銷(xiāo)策略,滿足不同的需求從而促進(jìn)公司產(chǎn)品的銷(xiāo)售。</p>
25、<p> 但是如何有效準(zhǔn)確的得到調(diào)查結(jié)果呢?讓我們先來(lái)看一下傳統(tǒng)調(diào)查方式與網(wǎng)絡(luò)調(diào)查方式的區(qū)別。</p><p> 傳統(tǒng)的調(diào)查方法有:入戶訪問(wèn)、街頭訪問(wèn)、商場(chǎng)攔截、電話訪問(wèn)、采訪等,這些調(diào)查方法存在一定的弊端[1]:</p><p> 傳統(tǒng)調(diào)查方法避免不了問(wèn)卷印刷費(fèi)用,人工費(fèi)用(給訪問(wèn)員/抽查員的勞務(wù)費(fèi),交通費(fèi)等),數(shù)據(jù)錄入等費(fèi)用, 另外傳統(tǒng)方法的成本不好估計(jì),成本預(yù)算誤差
26、很大;</p><p> 傳統(tǒng)方法的調(diào)查周期長(zhǎng),問(wèn)卷印刷、信息錄入、尋找被訪問(wèn)者,調(diào)查周期根本無(wú)法估計(jì)或估計(jì)誤差很大;</p><p> 后期數(shù)據(jù)校驗(yàn)和檢查工作量非常大,問(wèn)題的邏輯判斷只能由訪問(wèn)員人工進(jìn)行,容易出現(xiàn)差錯(cuò),邏輯又不能太復(fù)雜。降低了調(diào)查的最終效果性,人工統(tǒng)計(jì)調(diào)查數(shù)據(jù)收集和處理過(guò)程中人為因素引起的誤差是不可避免的;</p><p> 調(diào)查的地域的局限
27、性,可能會(huì)導(dǎo)致調(diào)查的結(jié)果有偏差。</p><p> 近年來(lái),互聯(lián)網(wǎng)的迅速發(fā)展已經(jīng)開(kāi)始改變?nèi)藗兊纳罘绞胶凸ぷ鞣绞剑?duì)很多行業(yè)都帶來(lái)了深刻的影響和新的機(jī)遇,作為一個(gè)交互性很高的工具,互聯(lián)網(wǎng)同樣為市場(chǎng)調(diào)查方法帶來(lái)了重大的變革。相比傳統(tǒng)的客戶調(diào)查方式,網(wǎng)上市場(chǎng)調(diào)查的實(shí)施可以充分利用Internet作為信息溝通渠道的開(kāi)放性、自由性、平等性、廣泛性和直接性的特性,使得網(wǎng)上市場(chǎng)調(diào)查具有傳統(tǒng)的一些市場(chǎng)調(diào)查手段和方法所不具備
28、的一些獨(dú)特的特點(diǎn)和優(yōu)勢(shì):</p><p> 及時(shí)性和共享性。網(wǎng)上調(diào)查是開(kāi)放的,任何網(wǎng)民都可以進(jìn)行投票和查看結(jié)果,而且在投票信息經(jīng)過(guò)統(tǒng)計(jì)分析軟件初步自動(dòng)處理后,可以馬上查看到階段性的調(diào)查結(jié)果。 </p><p> 便捷性和低費(fèi)用。實(shí)施網(wǎng)上調(diào)查節(jié)省了傳統(tǒng)調(diào)查中耗費(fèi)的大量人力和物力。 </p><p> 交互性和充分性。網(wǎng)絡(luò)的最大好處是交互性,因此在網(wǎng)上調(diào)查時(shí),被調(diào)
29、查對(duì)象可以及時(shí)就問(wèn)卷相關(guān)問(wèn)題提出自己更多看法和建議,可減少因問(wèn)卷設(shè)計(jì)不合理導(dǎo)致調(diào)查結(jié)論偏差。 </p><p> 可靠性和客觀性。實(shí)施網(wǎng)上調(diào)查,被調(diào)查者是在完全自愿的原則下參與調(diào)查,調(diào)查的針對(duì)性更強(qiáng),因此問(wèn)卷填寫(xiě)信息可靠、調(diào)查結(jié)論客觀。 </p><p> 無(wú)時(shí)空、地域限制。網(wǎng)上市場(chǎng)調(diào)查是24小時(shí)全天候的調(diào)查,這就與受區(qū)域制約和時(shí)間制約的傳統(tǒng)調(diào)研方式有很大不同。 </p>
30、<p> 可檢驗(yàn)性和可控性。利用Internet進(jìn)行網(wǎng)上調(diào)查收集信息,可以有效地對(duì)采集信息的質(zhì)量實(shí)施系統(tǒng)的檢驗(yàn)和控制[2]。</p><p> 可見(jiàn),網(wǎng)上調(diào)查具有更為迅速,直接,便捷的優(yōu)勢(shì),在避免了人為誤差的同時(shí)其成本消耗也更為經(jīng)濟(jì)合理。</p><p> 根據(jù)網(wǎng)上調(diào)查方式的優(yōu)勢(shì)和目前國(guó)內(nèi)國(guó)際互聯(lián)網(wǎng)的應(yīng)用現(xiàn)狀,現(xiàn)階段,網(wǎng)上調(diào)查可以應(yīng)用在針對(duì)網(wǎng)上群體有效的實(shí)驗(yàn)性調(diào)查和民意調(diào)
31、查項(xiàng)目上。具體可以考慮應(yīng)用在如下方面: </p><p><b> 市場(chǎng)調(diào)查 </b></p><p> 網(wǎng)上市場(chǎng)調(diào)查在歐美國(guó)際互聯(lián)網(wǎng)發(fā)達(dá)國(guó)家已經(jīng)是較普遍的形式,鑒于我國(guó)國(guó)際互聯(lián)網(wǎng)用戶還不夠多,利用國(guó)際互聯(lián)網(wǎng)實(shí)施市場(chǎng)調(diào)查應(yīng)首先在一定領(lǐng)域進(jìn)行,目前,針對(duì)地區(qū)IT產(chǎn)品性能改進(jìn)與服務(wù)的調(diào)查項(xiàng)目、與電子商務(wù)(EC)用戶密切相關(guān)的調(diào)查項(xiàng)目、IT客戶資料調(diào)查項(xiàng)目等可以實(shí)施網(wǎng)上
32、調(diào)查。因?yàn)榫W(wǎng)上用戶在這些調(diào)查項(xiàng)目上有代表性,且最合適,最為經(jīng)濟(jì)快捷。 </p><p><b> 實(shí)驗(yàn)性調(diào)查 </b></p><p> 設(shè)計(jì)并實(shí)施一項(xiàng)調(diào)查任務(wù)是一個(gè)復(fù)雜和極其重要的工作,為了檢驗(yàn)和修正調(diào)查方案及指標(biāo)體系的可行性、科學(xué)性或取得一些輔助資料,調(diào)查組織者往往在正式調(diào)查之前開(kāi)展一些實(shí)驗(yàn)性調(diào)查,目前,一些關(guān)于城市年輕人群的調(diào)查項(xiàng)目的輔助設(shè)計(jì)和實(shí)驗(yàn)性調(diào)查可以
33、采用網(wǎng)上調(diào)查,而且簡(jiǎn)單、快捷,費(fèi)用低廉。</p><p><b> 民意調(diào)查 </b></p><p> 比如,國(guó)家進(jìn)行國(guó)家大劇院建設(shè)方案的論證,因?yàn)閲?guó)家大劇院是一個(gè)文化品味很高的建設(shè)項(xiàng)目,應(yīng)該體現(xiàn)年輕知識(shí)階層的想法,反映當(dāng)代青年知識(shí)群體的想法,采用網(wǎng)上調(diào)查就很合適,調(diào)查過(guò)程中可以將國(guó)家大劇院設(shè)計(jì)方案及相關(guān)背景資料一同展示在互聯(lián)網(wǎng)上,由網(wǎng)上用戶投票,也可以同時(shí)提出
34、建設(shè)性意見(jiàn)。又比如,針對(duì)轉(zhuǎn)軌時(shí)期人才流動(dòng)、國(guó)有企業(yè)改革、居民投資意向、城市特殊群體生活方式等熱點(diǎn)社會(huì)問(wèn)題的調(diào)查,也適合采用網(wǎng)上調(diào)查方式[2]。</p><p> 國(guó)外大規(guī)模市場(chǎng)調(diào)查的手段已經(jīng)歷了兩個(gè)階段。最早的手段是面對(duì)面的訪問(wèn),隨著電話的普及,電話訪問(wèn)的使用超過(guò)了面對(duì)面的訪問(wèn)。目前已經(jīng)開(kāi)始了第三個(gè)階段,即逐步向網(wǎng)上調(diào)查方式轉(zhuǎn)變,在發(fā)達(dá)國(guó)家,網(wǎng)上調(diào)查作為商業(yè)應(yīng)用已有了近四年的歷史,已經(jīng)有很多日常消費(fèi)品的調(diào)查已經(jīng)
35、開(kāi)始在網(wǎng)上進(jìn)行。就像電話訪問(wèn)曾經(jīng)超過(guò)面對(duì)面訪問(wèn)一樣,網(wǎng)上調(diào)查將會(huì)成為二十一世紀(jì)市場(chǎng)調(diào)查所使用的主要的方式[1]。</p><p> 同時(shí)對(duì)于網(wǎng)站建設(shè),建立網(wǎng)上調(diào)查的平臺(tái),更能夠加強(qiáng)其與網(wǎng)絡(luò)用戶的互動(dòng)與聯(lián)系,同時(shí)也能成為用戶之間交流的平臺(tái),從而提高網(wǎng)站的瀏覽量與人氣。查看目前的各大門(mén)戶網(wǎng)站,網(wǎng)上調(diào)查界面隨處可見(jiàn)。無(wú)論是企業(yè)網(wǎng)站還是IT網(wǎng)站的建設(shè),網(wǎng)上調(diào)查系統(tǒng)已經(jīng)成為必不可少的組成部分。</p>&l
36、t;p><b> 本文的主要工作</b></p><p> 問(wèn)卷調(diào)查系統(tǒng)是一種基于B/S結(jié)構(gòu)的跨平臺(tái)應(yīng)用系統(tǒng),能向Internet用戶提供交互式、個(gè)性化的問(wèn)卷調(diào)查服務(wù)。它通過(guò)互聯(lián)網(wǎng)開(kāi)展問(wèn)卷調(diào)查服務(wù),提高自身網(wǎng)站內(nèi)容及訪問(wèn)量的一個(gè)軟件平臺(tái)。</p><p> 網(wǎng)上調(diào)查系統(tǒng)的實(shí)現(xiàn)已經(jīng)有許多優(yōu)秀的范例,但隨著編程語(yǔ)言的不斷更新和發(fā)展,特別是microsoft.N
37、ET Framework的出現(xiàn),使得該系統(tǒng)的實(shí)現(xiàn)方案更加多樣化。</p><p> 本文的主要工作是,在.NET環(huán)境下,對(duì)網(wǎng)上調(diào)查系統(tǒng)的框架結(jié)構(gòu)進(jìn)行分析并進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。</p><p> 本文中所用到的語(yǔ)言和開(kāi)發(fā)工具及其版本如下:</p><p> Visual Studio 2003</p><p> SQL server 200
38、0</p><p><b> C#編程語(yǔ)言</b></p><p><b> 開(kāi)發(fā)環(huán)境及工具簡(jiǎn)介</b></p><p> 什么是.NET Framework</p><p> .NET Framework是Microsoft為開(kāi)發(fā)應(yīng)用程序而創(chuàng)建的一個(gè)富有革命性的新平臺(tái)。它并不限制應(yīng)用程序的
39、類(lèi)型,并可以創(chuàng)建Windows應(yīng)用程序、Web應(yīng)用程序、Web服務(wù)和其他各種類(lèi)型的應(yīng)用程序[3]。</p><p> .NET框架設(shè)計(jì)為一個(gè)集成環(huán)境,可以在Internet、桌面(如Windows窗體),甚至移動(dòng)設(shè)備(使用精簡(jiǎn)框架Compact Framework)上無(wú)縫地開(kāi)發(fā)和運(yùn)行應(yīng)用。其主要目標(biāo)是:提供一個(gè)覆蓋整個(gè)應(yīng)用范圍的、一致的面向?qū)ο蟓h(huán)境[4]。</p><p> .NET
40、Framework的設(shè)計(jì)方式保證它可以用于各種語(yǔ)言,包括本文要使用的C#語(yǔ)言,以及C++、Visual Basic、JScript,甚至一些舊的語(yǔ)言,如COBOL。為此,還推出了這些語(yǔ)言的.NET版本,目前還在不斷推出更多的.NET版本的語(yǔ)言。所有這些語(yǔ)言都可以訪問(wèn).NET Framework,它們還可以彼此交互。</p><p> .NET Framework的內(nèi)容</p><p>
41、 .NET Framework主要包含一個(gè)非常大的代碼庫(kù),可以在客戶語(yǔ)言(如C#)中通過(guò)面向?qū)ο缶幊碳夹g(shù)(OOP)來(lái)使用這些代碼。這個(gè)代碼庫(kù)可以分為不同的模塊,這樣就可以根據(jù)希望得到的結(jié)果來(lái)選擇使用其中的各個(gè)部分。其目的是,不同的操作系統(tǒng)可以根據(jù)自己的特性.支持其中的部分或全部模塊。</p><p> 部分.NET Framework庫(kù)定義了一些基本類(lèi)型。類(lèi)型是數(shù)據(jù)的一種表達(dá)方式,指定其中最基礎(chǔ)的部分(例如32
42、位帶符號(hào)的整數(shù)),以便使用.NET Framework在各種語(yǔ)言之間進(jìn)行交互操作。這稱為通用類(lèi)型系統(tǒng)(Common Type System,CTS)。</p><p> .NET Framework還包含.NET Framework公共語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime,CLR),它負(fù)責(zé)管理用.NET庫(kù)開(kāi)發(fā)的所有應(yīng)用程序的執(zhí)行。</p><p> .NET Fr
43、amework 具有兩個(gè)主要組件:公共語(yǔ)言運(yùn)行庫(kù)和 .NET Framework 類(lèi)庫(kù)。公共語(yǔ)言運(yùn)行庫(kù)是 .NET Framework 的基礎(chǔ)。您可以將運(yùn)行庫(kù)看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,它提供內(nèi)存管理、線程管理和遠(yuǎn)程處理等核心服務(wù),并且還強(qiáng)制實(shí)施嚴(yán)格的類(lèi)型安全以及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫(kù)的基本原則。以運(yùn)行庫(kù)為目標(biāo)的代碼稱為托管代碼,而不以運(yùn)行庫(kù)為目標(biāo)的代碼稱為非托管代碼。.NET F
44、ramework 的另一個(gè)主要組件是類(lèi)庫(kù),它是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙?lèi)型集合,您可以使用它開(kāi)發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應(yīng)用程序,也包括基于 ASP.NET 所提供的最新創(chuàng)新的應(yīng)用程序。</p><p> .NET框架下各部分相互關(guān)系</p><p> .NET Framework 可由非托管組件承載,這些組件將公共語(yǔ)言運(yùn)行庫(kù)加載到它們
45、的進(jìn)程中并啟動(dòng)托管代碼的執(zhí)行,從而創(chuàng)建一個(gè)可以同時(shí)利用托管和非托管功能的軟件環(huán)境。.NET Framework 不但提供若干個(gè)運(yùn)行庫(kù)宿主,而且還支持第三方運(yùn)行庫(kù)宿主的開(kāi)發(fā)。</p><p> 例如,ASP.NET 承載運(yùn)行庫(kù)以為托管代碼提供可伸縮的服務(wù)器端環(huán)境。ASP.NET 直接使用運(yùn)行庫(kù)以啟用 ASP.NET 應(yīng)用程序和 XML Web services。Internet Explorer 是承載運(yùn)行庫(kù)(以
46、 MIME 類(lèi)型擴(kuò)展的形式)的非托管應(yīng)用程序的一個(gè)示例。使用 Internet Explorer 承載運(yùn)行庫(kù)使您能夠在 HTML 文檔中嵌入托管組件或 Windows 窗體控件。以這種方式承載運(yùn)行庫(kù)使得托管移動(dòng)代碼(類(lèi)似于 Microsoft® ActiveX® 控件)成為可能,不過(guò)它需要只有托管代碼才能提供的重大改進(jìn)(如不完全受信任的執(zhí)行和獨(dú)立的文件存儲(chǔ))[5]。</p><p> 圖1.
47、1顯示了公共語(yǔ)言運(yùn)行庫(kù)和類(lèi)庫(kù)與應(yīng)用程序之間以及與整個(gè)系統(tǒng)之間的關(guān)系。該圖還顯示托管代碼如何在更大的結(jié)構(gòu)內(nèi)運(yùn)行。</p><p><b> .NET的優(yōu)點(diǎn)</b></p><p> 面向?qū)ο蟮木幊蹋?NET Framework和C#從一開(kāi)始就是完全基于面向?qū)ο蟮摹?lt;/p><p> 優(yōu)秀的設(shè)計(jì):一個(gè)基類(lèi)庫(kù),它是以一種非常直觀的方式設(shè)計(jì)出來(lái)的
48、。</p><p> 語(yǔ)言的無(wú)關(guān)性:在.NET Framework,VB.NET、C#、J#和Managed C++等語(yǔ)言都可以編譯為通用的中間語(yǔ)言(Intermediate Language)。這說(shuō)明,語(yǔ)言可以用以前沒(méi)有的方式交互操作。</p><p> 對(duì)動(dòng)態(tài)Web頁(yè)面的支持:ASP具有很大的靈活性,但效率不是很高,這是因?yàn)樗褂昧私忉屝缘哪_本語(yǔ)言,且缺乏面向?qū)ο蟮脑O(shè)計(jì),從而導(dǎo)致A
49、SP代碼比較凌亂。.NET使用了一種新技術(shù)ASP.NET,它為Web頁(yè)面提供了一種集成式的支持。使用ASP.NET,可以編譯頁(yè)面中的代碼,這些代碼還可以使用.NET高級(jí)語(yǔ)言編寫(xiě),例如C# 、J#或VB.NET。</p><p> 高效的數(shù)據(jù)訪問(wèn):一組.NET組件,總稱為ADO.NET,提供了對(duì)關(guān)系數(shù)據(jù)庫(kù)和各種數(shù)據(jù)源的高效訪問(wèn)。這些組件也可以訪問(wèn)文件系統(tǒng)和目錄。.NET內(nèi)置了XML支持,可以處理從非Windows
50、平臺(tái)導(dǎo)入或?qū)С龅臄?shù)據(jù)。</p><p> 代碼共享:.NET引入了程序集的概念,替代了傳統(tǒng)的DLL,可以完美無(wú)瑕的修補(bǔ)代碼在應(yīng)用程序之間的共享方式。</p><p> 增強(qiáng)的安全性:每個(gè)程序集還可以包含內(nèi)置的安全信息,這些信息可以準(zhǔn)確地指出誰(shuí)或哪種類(lèi)型的用戶或進(jìn)程可以調(diào)用什么類(lèi)的哪些方法。這樣就可以非常準(zhǔn)確的控制程序集的使用方式[6]。</p><p><
51、b> 什么是C#</b></p><p> C#是一種相當(dāng)新的編程語(yǔ)言,C#的重要性體現(xiàn)在以下兩個(gè)方面[7]:</p><p> 它是專(zhuān)門(mén)為與Microsoft的.NET Framework一起使用而設(shè)計(jì)的。(.NET Framework是一個(gè)功能非常豐富的平臺(tái),可開(kāi)發(fā)、部署和執(zhí)行分布式應(yīng)用程序)。</p><p> 它是一種基于現(xiàn)代面向?qū)?/p>
52、象設(shè)計(jì)方法的語(yǔ)言,在設(shè)計(jì)它時(shí),Microsoft還吸取了其他類(lèi)似語(yǔ)言的經(jīng)驗(yàn),這些語(yǔ)言是近20年來(lái)面向?qū)ο笠?guī)則得到廣泛應(yīng)用后才開(kāi)發(fā)出來(lái)的。</p><p> C#深深根植于C++語(yǔ)言,同時(shí)毫無(wú)疑問(wèn)地也受到了微軟公司其他流行語(yǔ)言如Visual Basic的影響。C#一個(gè)最大的好處是它的語(yǔ)法(或者稱為代碼的結(jié)構(gòu))非常類(lèi)似于其他流行的程序設(shè)計(jì)語(yǔ)言,尤其類(lèi)似于C++、Visual Basic、Java和Delphi,這使
53、得擁有其他語(yǔ)言開(kāi)發(fā)背景的程序員通過(guò)最小的學(xué)習(xí)曲線就能迅速掌握C#。并且,C#語(yǔ)言比C++和JAVA都更加簡(jiǎn)潔[8]。</p><p> C#是專(zhuān)門(mén)用于.NET的語(yǔ)言,可用于創(chuàng)建要運(yùn)行在.NET CLR上的應(yīng)用程序,它從C和C++語(yǔ)言演化而來(lái),是Microsoft專(zhuān)門(mén)為使用.NET平臺(tái)而創(chuàng)建的。因?yàn)镃#是近期發(fā)展起來(lái)的,所以吸取了以前的教訓(xùn),考慮了其他語(yǔ)言的許多優(yōu)點(diǎn),并解決了它們的問(wèn)題。</p>&
54、lt;p> C#開(kāi)發(fā)者可以方便的在Microsoft網(wǎng)絡(luò)平臺(tái)上擴(kuò)展自己的應(yīng)用。C#可以將任何組件轉(zhuǎn)變?yōu)閃EB服務(wù),并且可以被運(yùn)行于Internet上的任何平臺(tái)的任何應(yīng)用調(diào)用,重要的是C#對(duì)這一特性提供了內(nèi)置的支持[9]。</p><p> 使用C#開(kāi)發(fā)應(yīng)用程序比使用C++簡(jiǎn)單,因?yàn)槠湔Z(yǔ)法比較簡(jiǎn)單。但是,C#是一種強(qiáng)大的語(yǔ)言,在C++中能完成的任務(wù)利用C#也能完成。C#代碼常常比C++略長(zhǎng)一些。這是因?yàn)镃
55、#是一種類(lèi)型安全的語(yǔ)言(與C++不同)。在外行人看來(lái),這表示一旦為某些數(shù)據(jù)指定了類(lèi)型,就不能轉(zhuǎn)換為另—個(gè)不相關(guān)的類(lèi)型。所以,在類(lèi)型之間轉(zhuǎn)換時(shí),必須遵守嚴(yán)格的規(guī)則。執(zhí)行相同的任務(wù)時(shí),用C#編寫(xiě)的代碼通常比C++長(zhǎng)。但C#代碼更健壯,調(diào)試也比較簡(jiǎn)單,C#總是可以隨時(shí)跟蹤數(shù)據(jù)的類(lèi)型。C#只是.NET開(kāi)發(fā)的一種語(yǔ)言,它的優(yōu)點(diǎn)在于,它是惟一為.NET Framework設(shè)計(jì)的語(yǔ)言,是在移植到其他操作系統(tǒng)上的.NET版本中使用的主要語(yǔ)言。要使語(yǔ)言如
56、VB.NET盡可能類(lèi)似于其以前的語(yǔ)言,且仍遵循CLR,就不能完全支持.NET代碼庫(kù)的某些功能。但C#能使用.NET Framework代碼庫(kù)提供的每種功能。</p><p><b> 論文結(jié)構(gòu)</b></p><p><b> 第一章 緒論</b></p><p> 簡(jiǎn)要介紹選題的背景,對(duì).net Framewor
57、k及C#的一些相關(guān)知識(shí)和概念的介紹和說(shuō)明以及本文的主要工作。</p><p> 第二章 網(wǎng)上調(diào)查系統(tǒng)分析</p><p> 網(wǎng)上調(diào)查系統(tǒng)的需求分析和功能結(jié)構(gòu)以及流程分析。</p><p> 第三章 數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 進(jìn)行系統(tǒng)的數(shù)據(jù)庫(kù)需求分析和結(jié)構(gòu)設(shè)計(jì)以及標(biāo)和字段的創(chuàng)建,為整個(gè)系統(tǒng)的設(shè)計(jì)建立數(shù)據(jù)庫(kù)基礎(chǔ)。</p&g
58、t;<p> 第四章 系統(tǒng)登錄功能設(shè)計(jì)</p><p> 建立系統(tǒng)的后臺(tái)登錄界面并進(jìn)行代碼的設(shè)計(jì),提供的路后臺(tái)管理的接口。</p><p> 第五章 后臺(tái)管理功能設(shè)計(jì)</p><p> 設(shè)計(jì)系統(tǒng)的后臺(tái)管理界面及代碼,向系統(tǒng)管理員提供方便快捷的后臺(tái)管理功能。</p><p> 第六章 用戶投票功能設(shè)計(jì)</p&
59、gt;<p> 建立系統(tǒng)的前臺(tái)用戶界面,實(shí)現(xiàn)用戶投票和查看結(jié)果的功能。</p><p><b> 第七章 結(jié)論</b></p><p><b> 網(wǎng)上調(diào)查系統(tǒng)分析</b></p><p> 本章主要進(jìn)行功能模塊的劃分和系統(tǒng)流程的分析。根據(jù)需求總結(jié)系統(tǒng)主要完成的功能,以及將來(lái)拓展需要完成的功能,然后根
60、據(jù)設(shè)計(jì)好的功能劃分出系統(tǒng)的功能模塊,以方便程序的管理和維護(hù),最后設(shè)計(jì)出系統(tǒng)的流程。接下來(lái),就對(duì)系統(tǒng)設(shè)計(jì)的前期準(zhǔn)備做詳細(xì)介紹。</p><p><b> 系統(tǒng)需求分析</b></p><p> 網(wǎng)上調(diào)查系統(tǒng)的設(shè)計(jì)采用面向?qū)ο蟮脑O(shè)計(jì)技術(shù),其主要面向的對(duì)象是后臺(tái)系統(tǒng)管理員與瀏覽者。</p><p> 作為系統(tǒng)管理員,其操作需求包括:</p
61、><p><b> 登錄系統(tǒng)</b></p><p><b> 編輯調(diào)查題目</b></p><p><b> 查看調(diào)查結(jié)果</b></p><p><b> 調(diào)查發(fā)布</b></p><p><b> 調(diào)查分類(lèi)&l
62、t;/b></p><p> 而作為瀏覽者或調(diào)查參與者,網(wǎng)上調(diào)查系統(tǒng)為其提供的功能較為明確:</p><p><b> 投票</b></p><p><b> 查看結(jié)果</b></p><p><b> 系統(tǒng)結(jié)構(gòu)分析</b></p><p>
63、; 網(wǎng)上調(diào)查系統(tǒng)應(yīng)該具備結(jié)果查詢、調(diào)查分類(lèi)和創(chuàng)建調(diào)查等功能。根據(jù)系統(tǒng)功能的需求分析,把該系統(tǒng)的功能劃分為8個(gè)模塊,如圖2.1所示:</p><p><b> 系統(tǒng)登錄模塊</b></p><p> 識(shí)別管理員身份,提供管理員登錄后臺(tái)管理的接口。</p><p><b> 用戶投票模塊</b></p>
64、<p> 包括用戶在網(wǎng)站主頁(yè)中所能看到分類(lèi)主題清單以及參與調(diào)查頁(yè)面。</p><p> 網(wǎng)上調(diào)查系統(tǒng)流程分析</p><p><b> 管理后臺(tái)主頁(yè)模塊</b></p><p> 為管理員提供所有的調(diào)查表信息,可以通過(guò)選擇不同的調(diào)查表主題查看調(diào)查的詳細(xì)信息和結(jié)果。同時(shí)對(duì)調(diào)查內(nèi)容提供一定的編輯功能,以及圖形統(tǒng)計(jì)和新主題模塊的入口
65、。</p><p><b> 圖形統(tǒng)計(jì)模塊</b></p><p> 該模塊通過(guò)直方圖形式顯示選定主題投票結(jié)果的直方圖表示結(jié)果。</p><p><b> 新主題模塊</b></p><p> 該模塊包括兩個(gè)頁(yè)面,一個(gè)是添加新的調(diào)查主題,二是為選定主題添加具體調(diào)查選項(xiàng)。</p>
66、<p><b> 調(diào)查發(fā)布模塊</b></p><p> 由管理員在已建立的調(diào)查表中,指定在前臺(tái)網(wǎng)頁(yè)顯示那些調(diào)查主題,可以單個(gè)發(fā)布,也可以成批發(fā)布。</p><p><b> 調(diào)查分類(lèi)模塊</b></p><p> 可以針對(duì)不同的調(diào)查主題的特征進(jìn)行分類(lèi),以方便用戶參與自己感興趣的話題的相關(guān)調(diào)查。<
67、/p><p><b> 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b> 數(shù)據(jù)庫(kù)需求分析</b></p><p> 網(wǎng)上調(diào)查系統(tǒng)的數(shù)據(jù)庫(kù)功能主要體現(xiàn)在對(duì)各種統(tǒng)計(jì)主題和信息的提供、保存、更新和查詢操作上,包括管理員信息、調(diào)查主題信息、投票信息,主題詳細(xì)信息等,各個(gè)部分的數(shù)據(jù)內(nèi)容又有內(nèi)在聯(lián)系。除了主題的建立與查詢之外,還應(yīng)提供主
68、題的發(fā)布,主題分類(lèi)的要求,同時(shí)還應(yīng)對(duì)多選和單選進(jìn)行區(qū)別。</p><p> 經(jīng)過(guò)上述系統(tǒng)功能分析和需求總結(jié),總結(jié)如下:</p><p> 系統(tǒng)管理員信息:包括用戶編號(hào)、名稱、密碼等數(shù)據(jù)項(xiàng);</p><p> 主題詳細(xì)信息:包括選擇項(xiàng)編號(hào)、選擇項(xiàng)具體內(nèi)容,得票數(shù)等數(shù)據(jù)項(xiàng);</p><p> 調(diào)查主題信息:包括所有的主題編號(hào),主題描述,主
69、題分類(lèi),主題類(lèi)型(單選還是多選),主題狀態(tài)(是否發(fā)布)等數(shù)據(jù)項(xiàng);</p><p> 分組信息:包括所有類(lèi)別的編號(hào)和描述。</p><p><b> 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</b></p><p> 根據(jù)上述,可以設(shè)計(jì)得到滿足要求的實(shí)體和關(guān)系,通過(guò)ER圖示表現(xiàn)如下,見(jiàn)圖3.1至3.5:</p><p><b>
70、 管理員實(shí)體ER圖</b></p><p><b> 主題實(shí)體ER圖</b></p><p><b> 主題總表ER圖</b></p><p><b> 分組實(shí)體ER圖</b></p><p><b> 實(shí)體間關(guān)系ER圖</b><
71、;/p><p><b> 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p> 該階段按照ER圖模型建立相應(yīng)的數(shù)據(jù)庫(kù)并進(jìn)行表和字段的設(shè)計(jì)。</p><p> 首先建立系統(tǒng)數(shù)據(jù)庫(kù)DC,打開(kāi)SQL查詢分析器,按圖3.6所示進(jìn)行配置:</p><p> SQL Server服務(wù)登錄配置</p><p>
72、進(jìn)入查詢分析器,使用SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)DC</p><p> Create database DC</p><p> 數(shù)據(jù)庫(kù)建立完畢,建立相應(yīng)的表和字段</p><p> 建立管理員信息表,結(jié)構(gòu)如表3.1所示:</p><p><b> 管理員信息表</b></p><p> 在查詢分
73、析其中建立相應(yīng)的表Admin: </p><p><b> use DC</b></p><p> create table Admin</p><p> (ID varchar (12) not null primary key,</p><p> Namevarchar (20) not null,&l
74、t;/p><p> Pwdvarchar (12) not null</p><p><b> )</b></p><p> 建立主題總表,結(jié)構(gòu)如表3.2所示:</p><p><b> 主題信息表</b></p><p> 在查詢分析器中建立相應(yīng)的表Main<
75、/p><p> create table Main</p><p><b> (</b></p><p> FIDintidentity(1,1) primary key,</p><p> FNamevarchar(500) not null,</p><p> FTypeint
76、 not null,</p><p> FStateint not null,</p><p> GIDint not null</p><p><b> )</b></p><p> 建立分組表,結(jié)構(gòu)如表3.3所示:</p><p><b> 分組表</b>
77、</p><p> 在查詢分析器中建立相應(yīng)的表Class</p><p> create table Class</p><p><b> (</b></p><p> GIDintidentity(1,1) primary key,</p><p> GNamevarchar(2
78、0) not null,</p><p><b> )</b></p><p><b> 主題詳表的建立</b></p><p> 在本項(xiàng)目中,主題詳表并不是預(yù)先建立,并全部保存在一張表中,而是為每個(gè)主題建立單獨(dú)的主題詳表,用于存放主題的選擇項(xiàng)內(nèi)容等信息。在管理員創(chuàng)建調(diào)查主題時(shí),動(dòng)態(tài)的為其建立相應(yīng)的主題詳表,其表
79、名為T(mén)+FID(其中,T為字符,F(xiàn)ID為從Main表中抽取的對(duì)應(yīng)值)。</p><p> 該類(lèi)表結(jié)構(gòu)如表3.4所示:</p><p><b> 主題詳表</b></p><p><b> 存儲(chǔ)過(guò)程設(shè)計(jì)</b></p><p> 考慮到程序的可修改性和可擴(kuò)展性,本項(xiàng)目中盡量采用存儲(chǔ)過(guò)程完成對(duì)數(shù)
80、據(jù)庫(kù)的操作,所涉及到的存儲(chǔ)過(guò)程如表3.5所示:</p><p><b> 存儲(chǔ)過(guò)程</b></p><p> 在這里不列出存儲(chǔ)過(guò)程的具體定義,在后續(xù)章節(jié)代碼設(shè)計(jì)時(shí)將結(jié)合具體應(yīng)用給出存儲(chǔ)過(guò)程的定義。</p><p><b> 數(shù)據(jù)庫(kù)連接代碼設(shè)計(jì)</b></p><p><b> 首先
81、建立項(xiàng)目。</b></p><p> 打開(kāi)Visual Studio.NET 2003,選擇Visual C#項(xiàng)目下的ASP.NET Web應(yīng)用程序,建立項(xiàng)目http://localhost/DC,點(diǎn)擊確定。</p><p> 由于項(xiàng)目中頻繁涉及對(duì)數(shù)據(jù)庫(kù)的操作,在項(xiàng)目DC中新建數(shù)據(jù)庫(kù)連接類(lèi),命名為DB.CS,用以完成建立數(shù)據(jù)庫(kù)連接的功能。</p><p&
82、gt; 打開(kāi)DB.CS設(shè)計(jì)界面,首先導(dǎo)入命名空間:</p><p> using System.Data.SqlClient;</p><p> 在DB類(lèi)中添加方法,創(chuàng)建一個(gè)SQL連接并返回連接,參見(jiàn)程序清單3.1:</p><p><b> 創(chuàng)建數(shù)據(jù)庫(kù)連接</b></p><p> public static
83、 SqlConnection CreatConnection()</p><p><b> {</b></p><p> SqlConnection con=new SqlConnection("server=.;database=DC;uid=sa;password=;");</p><p> return con;
84、</p><p><b> }</b></p><p><b> 小結(jié)</b></p><p> 本章主要是為后面章節(jié)的系統(tǒng)代碼設(shè)計(jì)打下基礎(chǔ),根據(jù)需求完成系統(tǒng)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)以及表和字段的創(chuàng)建。在本項(xiàng)目中,還使用到了視圖(FB,F(xiàn)rontSingle,以及viewform),對(duì)于視圖的定義,本章節(jié)沒(méi)有給予系統(tǒng)的說(shuō)
85、明,將在代碼設(shè)計(jì)時(shí)結(jié)合具體的應(yīng)用加以說(shuō)明和定義。</p><p> 在以下章節(jié)的系統(tǒng)代碼設(shè)計(jì)中,將整個(gè)系統(tǒng)的代碼設(shè)計(jì)分為三大功能并按照順序進(jìn)行設(shè)計(jì):</p><p><b> 系統(tǒng)登錄功能</b></p><p><b> 后臺(tái)管理功能</b></p><p><b> 用戶投票功
86、能</b></p><p><b> 系統(tǒng)登錄功能設(shè)計(jì)</b></p><p><b> 系統(tǒng)登錄功能概述</b></p><p> 系統(tǒng)登錄模塊提供管理員登錄的入口,主要功能在于:</p><p> 用戶身份的識(shí)別,只有管理員才能夠進(jìn)入后臺(tái)管理頁(yè)面進(jìn)行調(diào)查的創(chuàng)建分組和發(fā)布等操作
87、。這就要求必須通過(guò)登錄界面輸入正確的管理員ID和密碼,才能夠登錄系統(tǒng),使用系統(tǒng)。</p><p> 當(dāng)其它用戶不通過(guò)登錄頁(yè)面輸入用戶名和密碼,而直接在瀏覽器地址欄輸入U(xiǎn)RL登錄后臺(tái)頁(yè)面時(shí),應(yīng)返回錯(cuò)誤處理頁(yè)面,提醒用戶從登錄頁(yè)面正常登錄后臺(tái)。</p><p> 對(duì)于該模塊的第一項(xiàng)功能可以通過(guò)設(shè)計(jì)頁(yè)面實(shí)現(xiàn),而第二個(gè)功能則要求在每個(gè)后臺(tái)頁(yè)面中設(shè)置身份的識(shí)別,對(duì)于非法訪問(wèn)應(yīng)強(qiáng)制其返回登錄頁(yè)面,
88、從而保證數(shù)據(jù)庫(kù)信息的安全。但若先將該部分代碼加入所有后臺(tái)頁(yè)面,會(huì)使得設(shè)計(jì)過(guò)程中后臺(tái)頁(yè)面的查看和調(diào)試比較繁瑣,因此本章雖然進(jìn)行該部分代碼的設(shè)計(jì),但實(shí)際加入頁(yè)面代碼是在后臺(tái)管理基本功能完成以后。</p><p><b> 管理員登錄頁(yè)面設(shè)計(jì)</b></p><p> 登錄頁(yè)面主要為用戶輸入登錄信息,因此主要使用TextBox作為輸入控件,用以獲取所提交的用戶名和密碼,
89、特別注意用于密碼輸入的TextBox應(yīng)將其TextMode屬性設(shè)置為“password”形式以保護(hù)管理員密碼信息。同時(shí)對(duì)于用戶輸入的信息格式應(yīng)通過(guò)Validator系列控件進(jìn)行格式控制,以提示用戶輸入格式正確的用戶名和密碼。如果提交的ID與密碼不匹配則應(yīng)提示用戶輸入正確的用戶名和密碼。其設(shè)計(jì)界面如圖4.1所示(保存為login.aspx)。</p><p> 該功能模塊主要實(shí)現(xiàn)驗(yàn)證用戶身份的功能,因此主要響應(yīng)用
90、戶提交輸入信息的事件,即“登錄”按鈕的單擊事件。該事件的實(shí)現(xiàn)主要通過(guò)已經(jīng)建立的存儲(chǔ)過(guò)程login,該存儲(chǔ)過(guò)程定義兩個(gè)參數(shù)@ID和@pwd,用以進(jìn)行對(duì)Admin表匹配信息的查詢。其詳細(xì)代碼參見(jiàn)程序清單4.1:</p><p><b> login存儲(chǔ)過(guò)程</b></p><p> ALTER PROCEDURELogin (@ID varchar(12),
91、@Pwd varchar(12) )</p><p> ASSelect ID,Name,Pwd</p><p> FromAdmin</p><p> WhereID=@IDand Pwd=@Pwd</p><p><b> 系統(tǒng)登錄界面設(shè)計(jì)</b></p><p>
92、 單擊“登錄”按鈕后,通過(guò)兩個(gè)TextBox分別獲取由用戶輸入的用戶名和密碼,并使用DataReader在數(shù)據(jù)庫(kù)中進(jìn)行查詢是否存在匹配的記錄,若存在,則轉(zhuǎn)向后臺(tái)管理主頁(yè)面,并通過(guò)Session對(duì)象保存管理員ID,在頁(yè)面之間傳遞,登錄功能實(shí)現(xiàn)代碼請(qǐng)參見(jiàn)程序清單4.2:</p><p><b> 登錄功能代碼實(shí)現(xiàn)</b></p><p> private void
93、DL_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> SqlConnectionconn=DB.CreatConnection();</p><p> conn.Open();</p><p> SqlCommandc
94、md=new SqlCommand("Login",conn);</p><p> cmd.CommandType=CommandType.StoredProcedure;</p><p> ……//對(duì)參數(shù)進(jìn)行賦值 </p><p> SqlDataReaderdr=cmd.ExecuteReader();</p><
95、p> if(dr.Read())</p><p><b> {</b></p><p> Session["ID"]=dr["ID"].ToString();</p><p> Session["login"]=true;</p><p> Re
96、sponse.Redirect("main.aspx");</p><p><b> }</b></p><p><b> else</b></p><p> {this.error.Text="請(qǐng)輸入正確的管理員ID和密碼!";}</p><p>
97、 dr.Close();</p><p> conn.Close();</p><p><b> }</b></p><p> 注意代碼中使用到了Session[“ID”],通過(guò)對(duì)其賦值可以使管理員用戶的ID在各個(gè)頁(yè)面之間進(jìn)行傳遞,并在后臺(tái)管理頁(yè)面的左上角顯示管理員ID。</p><p> 后臺(tái)頁(yè)面用戶身份判別
98、</p><p> 程序清單4.1中應(yīng)特別注意Session[“l(fā)ogin”]的使用。</p><p> 首先在解決方案DC的目錄下打開(kāi)Global.asax.cs,在Session_Start中添加語(yǔ)句:</p><p> Session[“l(fā)ogin”]=false;</p><p> 即對(duì)Session[“l(fā)ogin”]賦初值f
99、alse,如正常的通過(guò)后臺(tái)登錄頁(yè)面進(jìn)入系統(tǒng) ,則對(duì)其賦值為true,在后臺(tái)管理的每個(gè)頁(yè)面都可以通過(guò)對(duì)Session[“l(fā)ogin”]的判斷來(lái)進(jìn)行用戶身份的判斷。在每個(gè)后臺(tái)頁(yè)面的Page_Load方法中使用Page.IsPostBack判斷是否為第一次加載后寫(xiě)入如下判斷語(yǔ)句:</p><p> if(!(bool)(Session["login"]))</p><p>
100、 {Response.Redirect("login.aspx");}</p><p> 如果是正常的經(jīng)過(guò)后臺(tái)登錄頁(yè)面進(jìn)行登錄,Session[“l(fā)ogin”]的值應(yīng)為true,此時(shí)可以正常的進(jìn)行后臺(tái)管理操作;若是通過(guò)直接在URL中輸入鏈接的方式進(jìn)行訪問(wèn),Session[“l(fā)ogin”]仍為默認(rèn)值false,經(jīng)過(guò)if語(yǔ)句判斷后將返回后臺(tái)登錄頁(yè)面。</p><p>
101、;<b> 后臺(tái)管理功能設(shè)計(jì)</b></p><p><b> 后臺(tái)管理功能概述</b></p><p> 后臺(tái)管理模塊為系統(tǒng)管理員提供后臺(tái)調(diào)查創(chuàng)建,編輯和發(fā)布、分組等操作的功能,一個(gè)合格的后臺(tái)管理模塊應(yīng)該可以使用Web頁(yè)面的方式滿足管理員用戶的所有操作要求,管理員只需通過(guò)在頁(yè)面上的單擊和錄入操作就可以實(shí)現(xiàn)所有的后臺(tái)管理功能,而不是讓管理員
102、通過(guò)使用SQL來(lái)進(jìn)行后臺(tái)管理。</p><p> 在2.2節(jié)中已經(jīng)詳細(xì)的闡述了整個(gè)后臺(tái)管理模塊所要實(shí)現(xiàn)的功能,本章將按照如下順序進(jìn)行后臺(tái)管理頁(yè)面的設(shè)計(jì):</p><p><b> 后臺(tái)主頁(yè)模塊</b></p><p><b> 創(chuàng)建調(diào)查模塊</b></p><p><b> 選項(xiàng)修
103、改模塊</b></p><p><b> 主題分類(lèi)模塊</b></p><p><b> 主題發(fā)布模塊</b></p><p> 在整個(gè)后臺(tái)的設(shè)計(jì)過(guò)程中,各個(gè)頁(yè)面中所涉及到控件及代碼多有重復(fù)或類(lèi)似,因此,在后臺(tái)主頁(yè)的設(shè)計(jì)中,將較為詳細(xì)的介紹各控件和功能的實(shí)現(xiàn)代碼,在以后的各模塊設(shè)計(jì)中,類(lèi)似或相同的功能及代
104、碼的實(shí)現(xiàn)將不予列出,只對(duì)設(shè)計(jì)過(guò)程中必須加以重視的問(wèn)題加以說(shuō)明和描述。</p><p> 另外,在后臺(tái)管理模塊中為了保證整個(gè)網(wǎng)站外觀上的延續(xù)性,每個(gè)頁(yè)面都將采用相同的頁(yè)頭,其在VS2003中設(shè)計(jì)如下,如圖5.1所示:</p><p><b> 界面頁(yè)頭設(shè)計(jì)</b></p><p> 頁(yè)面中的UserControl-Daohang1為自定義的
105、用戶控件,保存位置位于解決方案DC下的mycontrols文件夾下。保存名稱為Daohang.ascx,在界面設(shè)計(jì)時(shí)可以直接拖拽進(jìn)頁(yè)面。其設(shè)計(jì)如下,如圖5.2所示:</p><p><b> 導(dǎo)航控件設(shè)計(jì)</b></p><p> 其中分別設(shè)置前面五個(gè)LinkButton的NavagateUrl屬性使其指向相關(guān)頁(yè)面。</p><p> 注
106、意其中的“退出登錄”鍵是LinkButton控件,點(diǎn)擊后將Session[“l(fā)ogin”]置為false并返回后臺(tái)登錄頁(yè)面。</p><p><b> 后臺(tái)管理主頁(yè)設(shè)計(jì)</b></p><p><b> 后臺(tái)管理主頁(yè)概述</b></p><p> 后臺(tái)管理主頁(yè)所實(shí)現(xiàn)的功能主要是主題詳細(xì)信息的查詢和整個(gè)主題的刪除,考慮
107、到方便系統(tǒng)管理員用戶進(jìn)行操作的需求,該頁(yè)面同時(shí)應(yīng)能夠在一定程度上提供主題中各選擇項(xiàng)內(nèi)容的編輯修改和刪除的功能。另外,頁(yè)面中還應(yīng)提供創(chuàng)建新調(diào)查模塊和圖形顯示模塊的入口。</p><p> 在控件的使用上,該頁(yè)面主要用到了DropDownList和DataGrid以及Button控件:</p><p> DropDownList主要用于綁定顯示數(shù)據(jù)庫(kù)中所有的主題名稱,管理員用戶可以在Dro
108、pDownList中選擇主題,從而支持主題的查詢和刪除。</p><p> DateGrid用于在單擊“查詢”按鈕后,綁定顯示在DropDownList中所選中的調(diào)查主題的詳細(xì)內(nèi)容。而對(duì)主題中各個(gè)選擇項(xiàng)的編輯和修改功能,可以通過(guò)DataGrid中的按鈕列來(lái)實(shí)現(xiàn)。</p><p><b> 界面設(shè)計(jì)</b></p><p> 綜合以上要求,
109、設(shè)計(jì)界面如圖5.3所示(保存為main.aspx):</p><p> 后臺(tái)管理主頁(yè)界面設(shè)計(jì)</p><p><b> 代碼設(shè)計(jì)</b></p><p> 在界面中使用下拉列表控件DropDownList來(lái)顯示數(shù)據(jù)庫(kù)中的所有主題,頁(yè)面首次加載時(shí)(通過(guò)Page.IsPostBack屬性判斷),調(diào)用綁定函數(shù)BindForm()實(shí)現(xiàn)綁定,顯示數(shù)
110、據(jù)庫(kù)中的所有主題,并通過(guò)該下拉列表的DataValueField保存主題的ID,從而使得在查詢功能實(shí)現(xiàn)時(shí)可以通過(guò)獲取ID來(lái)實(shí)現(xiàn)對(duì)主題詳表的查詢。代碼實(shí)現(xiàn)請(qǐng)參見(jiàn)程序清單5.1:</p><p> DropDownList的綁定函數(shù)BindForm()</p><p> void BindForm()</p><p><b> {</b>&l
111、t;/p><p> SqlConnectionconn=DB.CreatConnection();</p><p> conn.Open();</p><p> SqlDataAdaptersda=new SqlDataAdapter ("Select FName,FID from main",conn);</p><p
112、> DataSet ds=new DataSet();</p><p> sda.Fill(ds,"main");</p><p> this.ddlCX.DataSource=ds;</p><p> this.ddlCX.DataMember="main";</p><p> thi
113、s.ddlCX.DataTextField="FName";</p><p> this.ddlCX.DataValueField="FID";</p><p> this.ddlCX.DataBind();</p><p> conn.Close();</p><p><b> }&
114、lt;/b></p><p> 該頁(yè)面的主要功能為查詢數(shù)據(jù)庫(kù)中的各主題,主要事件為“查詢”事件,當(dāng)單擊“查詢”按鈕時(shí)應(yīng)從DropDownList中獲取所選中主題的內(nèi)容和ID,主題名稱應(yīng)在頁(yè)面中通過(guò)Label進(jìn)行顯示,并查詢相關(guān)的從表T+ID,綁定DataGrid顯示其內(nèi)容,參見(jiàn)程序清單5.2:</p><p><b> 查詢按鈕功能實(shí)現(xiàn)</b></p&
115、gt;<p> private void CX_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p><b> //獲取選擇的主題</b></p><p> zt=this.ddlCX.SelectedItem.Text
116、;</p><p> id=int.Parse(this.ddlCX.SelectedItem.Value);</p><p> this.lblZT.Text="您當(dāng)前查看的主題:"+zt;</p><p><b> //調(diào)用綁定</b></p><p> this.BindDG();<
117、;/p><p><b> }</b></p><p> 在該過(guò)程中,通過(guò)調(diào)用BindDG()函數(shù)實(shí)現(xiàn)主題詳細(xì)信息的綁定顯示,為了滿足用戶可以通過(guò)點(diǎn)擊“編號(hào)”或是“得票”對(duì)DateGrid中的項(xiàng)目進(jìn)行重新排序的要求,應(yīng)設(shè)置DataGrid的DataKeyField為“SID”列。該函數(shù)的代碼實(shí)現(xiàn)參見(jiàn)程序清單5.3:</p><p> DataG
118、rid的綁定顯示函數(shù)</p><p> void BindDG()</p><p><b> {</b></p><p> SqlConnectionconn=DB.CreatConnection();</p><p> conn.Open();</p><p> String sql
119、cx="select * from T"+id;</p><p> SqlCommand cmd=new SqlCommand(sqlcx,conn);</p><p> SqlDataReader sdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);</p><p> DG.Dat
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于bs模式的網(wǎng)上招聘系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---基于bs模式選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs結(jié)構(gòu)的網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于bs模式的畢業(yè)設(shè)計(jì)跟蹤管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----基于bs結(jié)構(gòu)的網(wǎng)上購(gòu)物系統(tǒng)
- 基于bs模式下畢業(yè)設(shè)計(jì)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs模式的網(wǎng)上書(shū)店系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--基于bs模式的汽車(chē)銷(xiāo)售管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- php畢業(yè)設(shè)計(jì)--基于bs模式的個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs模式的網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(1)
- 畢業(yè)設(shè)計(jì)----基于bs模式的java在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- bs模式網(wǎng)上書(shū)店系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs模式的羽毛球論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-- 基于bs的數(shù)據(jù)挖掘系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs的網(wǎng)上考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs模式的網(wǎng)上花店銷(xiāo)售管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)開(kāi)題報(bào)告
- 基于bs模式的網(wǎng)上花店銷(xiāo)售管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【文獻(xiàn)綜述】
- 基于bs模式的學(xué)生綜合素質(zhì)測(cè)評(píng)系統(tǒng)-畢業(yè)設(shè)計(jì)
- 畢業(yè)論文---基于bs的網(wǎng)上訂餐系統(tǒng)設(shè)計(jì)
- bs模式的軟件項(xiàng)目管理系統(tǒng)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論