2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢</b></p><p><b>  業(yè)</b></p><p><b>  設(shè)</b></p><p><b>  計(jì)</b></p><p><b>  論</b></p><p

2、><b>  文</b></p><p><b>  題 目: </b></p><p><b>  專(zhuān) 業(yè): </b></p><p><b>  指導(dǎo)老師:</b></p><p><b>  班 級(jí): </b&

3、gt;</p><p><b>  學(xué) 號(hào):</b></p><p><b>  學(xué)生姓名: </b></p><p><b>  時(shí) 間: </b></p><p>  .NET to Develop the News Briefing Administrativ

4、e System of the Campus</p><p>  Liu Jungang</p><p>  (Dept. of Computer and Information Science, Southwest Forestry College, Kunming, Yunnan, 650224, China)</p><p>  Abstract ASP.N

5、ET is Web application program developing platform of new generation, it is one that has already compiled , development environment based on .NET, it has offered and produced all essential services of application program

6、of enterprise layer, produce because of .NET Framework, the whole frame can be used in any ASP.NET application program. Can use any to operate the compatible language (including Visual Basic.NET , C# and JScript .NET ) o

7、f storehouse (CLR ) to establish application </p><p>  Keywords ASP.NET ADO.NET NewsManagement Browser/Server</p><p><b>  目 錄</b></p><p><b>  引言1</b><

8、;/p><p>  第一章 研究背景2</p><p>  1.1 國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì)2</p><p>  1.2 研究目的、意義和范圍3</p><p>  第二章 課題分析4</p><p>  2.1 需求分析4</p><p>  2.2 新聞系統(tǒng)的性能需求5</p

9、><p>  2.3 運(yùn)行環(huán)境要求6</p><p><b>  2.3.1設(shè)備6</b></p><p>  2.3.2支持程序6</p><p>  第三章 系統(tǒng)結(jié)構(gòu)流程6</p><p>  3.1 新聞系統(tǒng)的模型結(jié)構(gòu)6</p><p>  3.2 新聞系統(tǒng)的功

10、能模塊簡(jiǎn)介7</p><p>  第四章 使用技術(shù)的介紹9</p><p>  4.1 .php概述9</p><p>  4.2 php、mysql和javascript語(yǔ)言簡(jiǎn)介10</p><p>  第五章 新聞系統(tǒng)的主要開(kāi)發(fā)過(guò)程12</p><p>  5.1 數(shù)據(jù)庫(kù)設(shè)計(jì)12</p>

11、<p>  5.2各主要窗體頁(yè)的圖形界面介紹13</p><p>  5.3 頁(yè)面的風(fēng)格設(shè)計(jì)15</p><p>  5.4 系統(tǒng)配置15</p><p>  5.4.1 Web.config文件配置16</p><p>  5.4.2 配置發(fā)布主頁(yè)16</p><p>  5.5 系統(tǒng)部分重要

12、功能及其代碼19</p><p>  5.5.1 Web用戶(hù)控件19</p><p>  5.5.2 通用類(lèi)代碼19</p><p>  5.5.3 添加發(fā)布新聞27</p><p>  5.5.4 用戶(hù)注冊(cè)29</p><p><b>  結(jié)束語(yǔ)31</b></p>&

13、lt;p><b>  參考文獻(xiàn)32</b></p><p>  致謝…………………………………………………………………………………………………… 33</p><p><b>  引言</b></p><p>  ASP.NET是微軟公司最新推出的一種統(tǒng)一Web開(kāi)發(fā)平臺(tái),與最新的數(shù)據(jù)訪問(wèn)技術(shù)ADO.NET一起可構(gòu)建

14、出強(qiáng)大、安全和可靠的企業(yè)級(jí)Web應(yīng)用程序。ASP.NET的語(yǔ)法在很大程度上與ASP兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序。</p><p>  采取了ASP.NET技術(shù)的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: </p><p>  ● 由于ASP頁(yè)面每次打開(kāi)都必須經(jīng)過(guò)先編譯后解釋的過(guò)程,所以頁(yè)面在反復(fù)打開(kāi)時(shí)速度沒(méi)有任何提升,而ASP.N

15、ET頁(yè)面只需要一次編譯后不需要重新編譯,直到該頁(yè)面被修改或Web應(yīng)用程序重新啟動(dòng)。這使得在多次訪問(wèn)時(shí)速度有了極大的提升; ● 由于ASP沒(méi)有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用ASP撰寫(xiě)數(shù)據(jù)庫(kù)頁(yè)面時(shí)只能借助ADO的RecordSet對(duì)象逐筆讀取記錄,而ASP.NET通過(guò)ADO.NET提供的DataGrid等數(shù)據(jù)庫(kù)元件可以直接和數(shù)據(jù)庫(kù)聯(lián)系;</p><p>  ● ASP.NET支持應(yīng)用程序的實(shí)時(shí)更新,

16、管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運(yùn)行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠(yuǎn)不會(huì)被加鎖,因此甚至在程序運(yùn)行時(shí)文件就可以被覆蓋,當(dāng)文件更新后,系統(tǒng)會(huì)溫和地轉(zhuǎn)換到新的版本; ●ASP.NET采取"CodeBehind(代碼分離)技術(shù)"方式編寫(xiě)代碼使得代碼更易于編寫(xiě),結(jié)構(gòu)更清晰,降低了系統(tǒng)開(kāi)發(fā)與維護(hù)的復(fù)雜度和費(fèi)用。</p><p><b>  第一章 研究背景<

17、/b></p><p>  1.1 國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì)</p><p>  傳統(tǒng)的網(wǎng)站新聞管理方式有兩種:一種是靜態(tài)HTML頁(yè)面,更新信息時(shí)需要重新制作頁(yè)面然后上傳頁(yè)面并修改相應(yīng)鏈接,這種方式因?yàn)樾侍鸵巡欢嘤茫涣硪环N是基于ASP和腳本語(yǔ)言,將動(dòng)態(tài)網(wǎng)頁(yè)和數(shù)據(jù)庫(kù)結(jié)合,通過(guò)應(yīng)用程序來(lái)處理新聞,這是目前較為流行的做法。但是由于ASP技術(shù)本身的局限性使得系統(tǒng)有一些不可克服的缺陷。&l

18、t;/p><p>  ASP.NET不僅僅是下一版本的ASP(Active Server Pages,動(dòng)態(tài)服務(wù)器頁(yè)面),而且是建立動(dòng)態(tài)Web應(yīng)用程序而重新打造的全新技術(shù),其主要特色包括:</p><p><b>  ● 語(yǔ)言的獨(dú)立性;</b></p><p>  ● 簡(jiǎn)單的開(kāi)發(fā)操作,分離程序代碼和網(wǎng)頁(yè)內(nèi)容;</p><p>

19、  ● 提高了執(zhí)行效率;</p><p>  ● 簡(jiǎn)化部署與組態(tài)的操作;</p><p>  ● 支持客戶(hù)端類(lèi)型;</p><p>  ● 支持下一代的Web服務(wù);</p><p><b>  ● 增進(jìn)適用性;</b></p><p><b>  ● 增進(jìn)延展性;</b>&l

20、t;/p><p>  ● 更多的支持工具;</p><p>  ● 更佳的安全機(jī)制;</p><p>  ● 會(huì)話(Session)可以跨進(jìn)程、跨機(jī)器。</p><p>  由于ASP.NET的眾多優(yōu)點(diǎn),技術(shù)發(fā)展和各種客觀實(shí)際的需要,該系統(tǒng)選用了ASP.NET來(lái)開(kāi)發(fā)設(shè)計(jì),實(shí)現(xiàn)了對(duì)校園新聞的動(dòng)態(tài)管理操作,使得對(duì)新聞信息的發(fā)布與管理更加及時(shí)、高效,提

21、高了工作效率。</p><p>  1.2 研究目的、意義和范圍</p><p>  隨著Internet的普及,越來(lái)越多的企業(yè)建立了自己的WWW網(wǎng)站,企業(yè)通過(guò)網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動(dòng)態(tài)信息,與用戶(hù)進(jìn)行交流和溝通,與合作伙伴建立聯(lián)系,以及開(kāi)展電子商務(wù)等。</p><p>  其中新聞管理系統(tǒng)是構(gòu)成企業(yè)網(wǎng)站的一個(gè)重要組成部分,它擔(dān)負(fù)著雙層作用:</p>

22、<p>  一方面可以用來(lái)動(dòng)態(tài)發(fā)布有關(guān)新產(chǎn)品或新開(kāi)發(fā)項(xiàng)目;</p><p>  另一方面又可以及時(shí)向顧客公告企業(yè)經(jīng)營(yíng)業(yè)績(jī)、技術(shù)與研發(fā)進(jìn)展、特別推薦或優(yōu)惠的工程項(xiàng)目、產(chǎn)品和服務(wù),從而吸引顧客,擴(kuò)大顧客群。</p><p>  該系統(tǒng)使用ASP.NET(C#語(yǔ)言)和ADO.NET技術(shù)開(kāi)發(fā), 實(shí)現(xiàn)了網(wǎng)站新聞的動(dòng)態(tài)管理,使得對(duì)信息的管理更加及時(shí)、高效,提高了工作效率。該新聞系統(tǒng)具有一

23、般新聞系統(tǒng)的功能,主要包括前臺(tái)新聞查看區(qū)和后臺(tái)管理區(qū),可為學(xué)校各部門(mén)發(fā)布新聞,為校園網(wǎng)站提供新聞發(fā)布與管理的服務(wù)。</p><p>  該系統(tǒng)是基于B/S(Browser/Server,瀏覽器/客戶(hù)端)模式實(shí)現(xiàn),基于.NET平臺(tái)架構(gòu)開(kāi)發(fā)設(shè)計(jì),主要實(shí)現(xiàn)對(duì)校園新聞的發(fā)布與管理功能,對(duì)新聞內(nèi)容信息的瀏覽閱讀等。 隨著Internet/Intranet技術(shù)的興起,將原本在單機(jī)或本地局域網(wǎng)上運(yùn)行的數(shù)據(jù)庫(kù)系統(tǒng)移植到因

24、特網(wǎng)中,即開(kāi)發(fā)基于B/S模式的新一代MIS(Management Information System,管理信息系統(tǒng))系統(tǒng),正成為技術(shù)發(fā)展的趨勢(shì)。為了保證系統(tǒng)性能的高效性、可擴(kuò)展性,以及達(dá)到數(shù)據(jù)共享和網(wǎng)絡(luò)化管理的目的,本系統(tǒng)采用B/S體系結(jié)構(gòu)進(jìn)行設(shè)計(jì)開(kāi)發(fā)。</p><p><b>  第二章 課題分析</b></p><p><b>  2.1 需求分析&l

25、t;/b></p><p>  該系統(tǒng)的用戶(hù)為校園網(wǎng)站,需要經(jīng)常發(fā)布一些新聞,如何能有效地管理和發(fā)布新聞呢?最初用戶(hù)的需求為:“該新聞系統(tǒng)具有一般新聞系統(tǒng)的功能,同時(shí)具有新聞審核和不同管理員不同管理權(quán)限的功能” 。</p><p>  通過(guò)對(duì)其它一些新聞系統(tǒng)的調(diào)查發(fā)現(xiàn),一般新聞系統(tǒng)功能如下:</p><p>  前臺(tái)按分類(lèi)顯示新聞;</p>&l

26、t;p><b>  搜索新聞;</b></p><p><b>  后臺(tái)管理:</b></p><p>  ● 添加、刪除和修改新聞</p><p>  ● 添加、刪除和修改用戶(hù)</p><p>  ● 添加、刪除和修改新聞分類(lèi)</p><p>  ● 添加新聞(添加成

27、功后的新聞根據(jù)管理員權(quán)限分為可發(fā)布新聞和待審核新聞)</p><p>  需要新聞審核,說(shuō)明添加后的新聞分為兩種:直接發(fā)布新聞和待審核新聞,同時(shí)待審核的新聞通過(guò)管理員或?qū)徍藛T經(jīng)審核后才可以上傳到網(wǎng)站,管理員有不同的權(quán)限,需要有個(gè)管理權(quán)限的功能,在系統(tǒng)中應(yīng)該有個(gè)超級(jí)管理員,具有所有權(quán)限,能夠?qū)ο到y(tǒng)進(jìn)行全面管理,同時(shí)管理員可以修改自己的一些信息。</p><p>  根據(jù)校園網(wǎng)站新聞發(fā)布管理的

28、實(shí)際需求,在首頁(yè)中能顯示最熱門(mén)新聞、頭條新聞和最近發(fā)布的幾條新聞等,同時(shí)在后臺(tái)發(fā)布新聞時(shí)可以添加圖片,也可以添加HTML語(yǔ)法,在前臺(tái)能自動(dòng)根據(jù)所顯示的圖片和HTML語(yǔ)法來(lái)顯示新聞。</p><p>  在后臺(tái)管理中,因?yàn)橛袡?quán)限的管理員才能登錄管理后臺(tái),所以需要有個(gè)登錄驗(yàn)證模塊,而且需要根據(jù)用戶(hù)權(quán)限的不同顯示不同的管理目錄,在管理新聞和用戶(hù)時(shí),當(dāng)數(shù)據(jù)少時(shí)管理起來(lái)還比較方便,如果一多則想找到某條新聞或某個(gè)用戶(hù)就很難,

29、所以需要有個(gè)查找(新聞標(biāo)題、用戶(hù))模塊用于查找新聞或用戶(hù)。</p><p>  根據(jù)以上需求分析,該系統(tǒng)要實(shí)現(xiàn)的主要功能為:</p><p><b>  前臺(tái)顯示新聞部分</b></p><p><b>  ● 用戶(hù)登錄區(qū)</b></p><p>  ● 顯示最熱門(mén)的前幾條新聞</p>

30、<p>  ● 顯示推薦的前幾條新聞</p><p>  ● 顯示最新的前幾條新聞</p><p><b>  ● 搜索新聞功能</b></p><p>  ● 顯示所有新聞分類(lèi)(即部門(mén))</p><p>  ● 按分類(lèi)/部門(mén)顯示其下的所有新聞</p><p>  ● 新聞詳細(xì)信息瀏覽

31、閱讀</p><p>  ● 圖片新聞(自動(dòng)生成縮略圖)以滾動(dòng)形式在首頁(yè)顯示且只顯示前幾條</p><p>  ● 網(wǎng)站友情鏈接(可在管理中添加設(shè)置)</p><p>  ● 網(wǎng)站公告可顯示發(fā)布了新聞但沒(méi)通過(guò)審核的一些相關(guān)通知等</p><p><b>  后臺(tái)管理部分</b></p><p>&

32、lt;b>  ● 登錄驗(yàn)證</b></p><p>  ● 根據(jù)權(quán)限顯示相應(yīng)的管理目錄</p><p>  ● 添加、修改和刪除新聞</p><p><b>  ● 管理發(fā)布新聞</b></p><p><b>  ● 管理審核新聞</b></p><p>

33、<b>  ● 分類(lèi)管理</b></p><p><b>  ● 用戶(hù)管理</b></p><p>  ● 網(wǎng)站風(fēng)格設(shè)置、系統(tǒng)設(shè)置等</p><p>  2.2 新聞系統(tǒng)的性能需求</p><p>  該系統(tǒng)在性能功能上應(yīng)達(dá)到如下需求:</p><p>  操作簡(jiǎn)單、界面友好

34、: 完全控件式的頁(yè)面布局,使得新聞的錄入工作更簡(jiǎn)便,許多選項(xiàng)包括新聞分類(lèi)、來(lái)源部門(mén)等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶(hù)隨時(shí)清楚自己的操作情況。對(duì)常見(jiàn)網(wǎng)站的新聞管理的各個(gè)方面:新聞錄入、瀏覽、刪除、修改、搜索等方面都大體實(shí)現(xiàn),實(shí)現(xiàn)了網(wǎng)站對(duì)即時(shí)新聞的管理要求; 即時(shí)可見(jiàn):對(duì)新聞的處理(包括錄入、修改、刪除)將立即在主頁(yè)的對(duì)應(yīng)欄目顯示出來(lái),達(dá)到“即時(shí)發(fā)布、即時(shí)見(jiàn)效”的功能;</p><p&

35、gt;  系統(tǒng)運(yùn)行應(yīng)該快速、穩(wěn)定、高效和可靠;</p><p>  在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性,便于將來(lái)的功能擴(kuò)展和維護(hù)。</p><p>  2.3 運(yùn)行環(huán)境要求</p><p><b>  2.3.1設(shè)備</b></p><p>  客戶(hù)機(jī)硬件要求:具有 Pentium III 處理器以上且滿足以下要求的計(jì)算機(jī):最

36、低 64 MB 內(nèi)存,最小 2.1 GB 硬盤(pán)。</p><p>  服務(wù)器硬件要求:具有 Pentium III 處理器以上且滿足以下要求的計(jì)算機(jī):最低 256MB 內(nèi)存,最小 8 GB 硬盤(pán)。</p><p><b>  2.3.2支持程序</b></p><p><b>  客戶(hù)端</b></p>&l

37、t;p>  操作系統(tǒng):Windows 98/NT/2000/XP或更高版本</p><p>  瀏覽器:IE 5.0以上或Netscape同等版本以上</p><p><b>  服務(wù)器</b></p><p>  操作系統(tǒng):Windows 2000 Server或者Windows 2003 Server</p><p

38、>  Web服務(wù)器:MS IIS</p><p>  應(yīng)用服務(wù)器:IIS、COM+等企業(yè)級(jí)應(yīng)用服務(wù)器</p><p>  數(shù)據(jù)庫(kù):ACCESS </p><p>  第三章 系統(tǒng)結(jié)構(gòu)流程</p><p>  3.1 新聞系統(tǒng)的模型結(jié)構(gòu)</p><p>  該系統(tǒng)的模型結(jié)構(gòu)如圖3-1所示:</p>&

39、lt;p>  圖3-1-1新聞系統(tǒng)的模型結(jié)構(gòu)圖示</p><p>  該系統(tǒng)結(jié)構(gòu)分為三個(gè)邏輯層:</p><p>  Web 層:Web層為客戶(hù)端瀏覽器提供對(duì)應(yīng)用程序的訪問(wèn),這一層是作為解決方案文件中的 Web 項(xiàng)目實(shí)現(xiàn)的。Web 層由 ASP.NET Web 窗體和代碼隱藏文件組成,Web 窗體只是用 HTML 提供用戶(hù)操作,而代碼隱藏文件實(shí)現(xiàn)各種控件的事件處理程序; </p

40、><p>  業(yè)務(wù)層:包含各種業(yè)務(wù)規(guī)則和邏輯的實(shí)現(xiàn),業(yè)務(wù)規(guī)則完成如客戶(hù)帳戶(hù)的驗(yàn)證和字符串處理這樣的任務(wù);</p><p>  數(shù)據(jù)訪問(wèn)層:數(shù)據(jù)訪問(wèn)層為業(yè)務(wù)層提供數(shù)據(jù)服務(wù),這一層是作為解決方案文件中的 Conn類(lèi)(數(shù)據(jù)訪問(wèn)類(lèi),實(shí)現(xiàn)公共操作的一個(gè)通用類(lèi))實(shí)現(xiàn)的;</p><p>  3.2 新聞系統(tǒng)的功能模塊簡(jiǎn)介</p><p>  圖3-2-1列出

41、系統(tǒng)的功能模塊圖:</p><p>  圖3-2-1 系統(tǒng)功能模塊圖示</p><p><b>  工作流程為:</b></p><p>  打開(kāi)該系統(tǒng)網(wǎng)站,普通瀏覽者能瀏覽、閱讀和搜索新聞,能進(jìn)行注冊(cè),注冊(cè)后為新聞?shì)斎雴T,登錄進(jìn)入新聞后臺(tái)管理區(qū), 只有添加新聞的權(quán)限;如登錄時(shí)為新聞審核員,其不但有添加新聞的權(quán)限,還有審核和管理新聞的權(quán)限;如為

42、系統(tǒng)管理員,其有新聞后臺(tái)管理區(qū)內(nèi)的所有權(quán)限,除具有新聞審核員所有的權(quán)限外,還有添加和管理新聞分類(lèi)、添加和管理用戶(hù)、系統(tǒng)、風(fēng)格和友情鏈接設(shè)置。</p><p>  在添加新聞時(shí),除常規(guī)的添加新聞標(biāo)題、新聞內(nèi)容、新聞作者和新聞簡(jiǎn)介外,還可選擇是否為首頁(yè)新聞、是否為推薦新聞和是否在首頁(yè)滾動(dòng)圖片(上傳圖片)等,對(duì)新聞內(nèi)容的字體、字號(hào)和字體顏色可以調(diào)整,類(lèi)似Word的一些簡(jiǎn)單的編輯功能,還可設(shè)置超鏈接和插入表格等。如添加新

43、聞?wù)邽樾侣勢(shì)斎雴T,其所添加的新聞需要系統(tǒng)管理員或?qū)徍藛T經(jīng)審核后才能發(fā)布到網(wǎng)上;如是管理員或者審核員添加新聞的話,不需要再經(jīng)誰(shuí)審核,直接可以發(fā)布到網(wǎng)上。</p><p>  管理新聞功能包括對(duì)任一條新聞內(nèi)容可作相應(yīng)修改,也可刪除任何一條不再需要保留的新聞。管理新聞分類(lèi)包括對(duì)新聞分類(lèi)名稱(chēng)作修改,也可將任一分類(lèi)名刪除,刪除后其分類(lèi)下的所有新聞也將被刪除。添加用戶(hù)時(shí),用戶(hù)等級(jí)可為管理員、審核員或者輸入員之一,管理用戶(hù)包括

44、修改用戶(hù)名、密碼和用戶(hù)等級(jí),也可將任一用戶(hù)刪除。</p><p>  系統(tǒng)設(shè)置包括設(shè)置網(wǎng)站標(biāo)題、網(wǎng)站地址、首頁(yè)圖片、網(wǎng)站公告(可用來(lái)顯示當(dāng)前有哪些新聞?shì)斎雴T所添加的新聞沒(méi)有通過(guò)審核,具體的原因理由等)、網(wǎng)站鏈接(此文本內(nèi)容可更改)和底部信息(可放置一些與站點(diǎn)相關(guān)的文本內(nèi)容等),對(duì)系統(tǒng)設(shè)置里的內(nèi)容,隨時(shí)可做相應(yīng)的修改,這權(quán)限只有系統(tǒng)管理員才擁有。風(fēng)格設(shè)置指從系統(tǒng)八種風(fēng)格里任選一種作為當(dāng)前網(wǎng)站的默認(rèn)風(fēng)格。友情鏈接主要

45、是以圖片的形式鏈接到其它網(wǎng)站,作用跟系統(tǒng)設(shè)置里的網(wǎng)站鏈接功能一樣。</p><p>  (下載源碼就到源碼網(wǎng):www.codepub.com)</p><p>  第四章 使用技術(shù)的介紹</p><p>  4.1 .NET Framework概述</p><p>  .NET Framework 是用于 .NET 平臺(tái)的編程模型,其關(guān)鍵組

46、件是公共語(yǔ)言運(yùn)行庫(kù)(CLR,Common Language Runtime)和 .NET Framework 類(lèi)庫(kù)(包括 ADO.NET、ASP.NET 和 Windows 窗體),它提供了托管執(zhí)行環(huán)境、簡(jiǎn)化的開(kāi)發(fā)和部署以及與各種編程語(yǔ)言的集成,是支持生成和運(yùn)行下一代應(yīng)用程序和 XML Web services 的內(nèi)部 Windows 組件。</p><p>  .NET Framework 旨在實(shí)現(xiàn)下列目標(biāo):&

47、lt;/p><p>  提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境,而無(wú)論對(duì)象代碼是在本地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠(yuǎn)程執(zhí)行的;</p><p>  提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境;</p><p>  提供一個(gè)可提高代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)境;</p>

48、<p>  提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問(wèn)題的代碼執(zhí)行環(huán)境;</p><p>  使開(kāi)發(fā)人員的經(jīng)驗(yàn)在面對(duì)類(lèi)型大不相同的應(yīng)用程序(如基于 Windows 的應(yīng)用程序和基于 Web 的應(yīng)用程序)時(shí)保持一致;</p><p>  按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確?;?.NET Framework 的代碼可與任何其他代碼集成。</p><p>  公共語(yǔ)

49、言運(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)的代碼稱(chēng)為托管代碼,而不以運(yùn)行庫(kù)為目標(biāo)的代碼稱(chēng)為非托管代碼。</p><p>  .NET Framework 類(lèi)庫(kù)是一個(gè)綜合性的面向?qū)ο蟮目芍?/p>

50、用類(lèi)型集合,可以使用它開(kāi)發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶(hù)界面 (GUI) 應(yīng)用程序,也包括基于 ASP.NET 所提供的最新創(chuàng)建的應(yīng)用程序(如 Web 窗體和 XML Web Services)。</p><p>  4.2 ASP.NET、ADO.NET和C#語(yǔ)言簡(jiǎn)介</p><p>  ASP.NET結(jié)構(gòu)是一個(gè)三層系統(tǒng):UI層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,結(jié)構(gòu)模型如圖&

51、lt;/p><p><b>  4-2-1所示:</b></p><p>  圖4-2-1 ASP.NET的結(jié)構(gòu)模型 ● UI層負(fù)責(zé)與用戶(hù)交互,接收用戶(hù)的輸入并將服務(wù)器端傳來(lái)的數(shù)據(jù)呈現(xiàn)給客戶(hù); ● 業(yè)務(wù)邏輯層負(fù)責(zé)接收瀏覽器傳來(lái)的請(qǐng)求并將請(qǐng)求傳給數(shù)據(jù)層,同時(shí)將請(qǐng)求處理結(jié)果發(fā)給瀏覽器。它由Web表單、XML  Web Services和組件服務(wù)組成,其

52、中Web表單是ASP.NET應(yīng)用程序的核心所在,它是向客戶(hù)呈現(xiàn)數(shù)據(jù)和信息的基礎(chǔ),也是響應(yīng)和處理客戶(hù)與顯示的Web表單交互生成的信息和數(shù)據(jù)的基礎(chǔ); ● 數(shù)據(jù)層是通過(guò)ADO.NET操縱數(shù)據(jù)為事務(wù)邏輯層提供數(shù)據(jù)服務(wù),如存儲(chǔ)數(shù)據(jù)操作結(jié)果、返回?cái)?shù)據(jù)檢索結(jié)果等。</p><p>  ADO.NET提供對(duì)Microsoft SQL Server、OLEDB和XML公開(kāi)的數(shù)據(jù)源的一致性訪問(wèn),數(shù)據(jù)共享用戶(hù)應(yīng)用程序可以使用ADO.

53、NET來(lái)連接到這些數(shù)據(jù)源,并檢索、操作和更新數(shù)據(jù)。</p><p>  ADO.NET 有兩個(gè)核心組件:DataSet 和 .NET Framework 數(shù)據(jù)提供程序,后者是一組包括 Connection、Command、DataReader 和 DataAdapter 4個(gè)對(duì)象在內(nèi)的組件,其組件結(jié)構(gòu)如圖4-2-2所示:</p><p>  圖4-2-2 ADO.NET的組件結(jié)構(gòu)圖示<

54、;/p><p>  DataSet對(duì)象是 ADO.NET 的斷開(kāi)式結(jié)構(gòu)的核心組件,實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問(wèn)。Connection 對(duì)象提供與數(shù)據(jù)源的連接,是操作數(shù)據(jù)庫(kù)的基礎(chǔ),表示應(yīng)用程序和數(shù)據(jù)源之間的惟一會(huì)話。Command 對(duì)象能夠訪問(wèn)用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲(chǔ)過(guò)程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令,實(shí)現(xiàn)對(duì)數(shù)據(jù)源的操作,如查詢(xún)、插入、修改和刪除等。DataReader 對(duì)象從數(shù)據(jù)源中讀取只進(jìn)且只讀的數(shù)據(jù)

55、流。DataAdapter 對(duì)象是DataSet 對(duì)象和數(shù)據(jù)源之間關(guān)聯(lián)的橋梁,用數(shù)據(jù)源填充DataSet并解析更新。設(shè)計(jì) ADO.NET 組件的目的是為了從“數(shù)據(jù)操作”中分解出“數(shù)據(jù)訪問(wèn)”。</p><p>  C#語(yǔ)言是.NET中一種嶄新的語(yǔ)言,C#是由C和C++派生而來(lái)的一種“簡(jiǎn)單、流行、面向?qū)ο?、?lèi)型安全”的程序設(shè)計(jì)語(yǔ)言,C#意在綜合Visual Basic的高效率和C++的強(qiáng)大功能。</p>

56、<p>  第五章 新聞系統(tǒng)的主要開(kāi)發(fā)過(guò)程</p><p><b>  5.1 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  該系統(tǒng)使用Access作為應(yīng)用程序的數(shù)據(jù)庫(kù),建立了有6張數(shù)據(jù)表:Lb_Admin表用于存儲(chǔ)帳戶(hù)的信息,Lb_Class表用于存儲(chǔ)新聞分類(lèi)信息,Lb_Links表用于存儲(chǔ)友情鏈接信息, Lb_News表用于存儲(chǔ)新聞內(nèi)容, Lb_Setup表

57、用于存儲(chǔ)系統(tǒng)設(shè)置信息,Lb_Skins表用于存儲(chǔ)頁(yè)面風(fēng)格。Lb_News表與Lb_Class表相關(guān)聯(lián)。</p><p>  在6個(gè)數(shù)據(jù)表中,主要介紹一下新聞表和賬戶(hù)表如下:</p><p>  Lb_News表如表5-1-1所示:</p><p><b>  表5-1-1新聞表</b></p><p>  n_id為該表

58、主鍵,n_cid為所屬新聞分類(lèi)ID,n_hit為點(diǎn)擊數(shù),n_commend用于判斷是否為推薦新聞,n_index用于判斷是否為首頁(yè)新聞,n_title為新聞標(biāo)題,n_date為發(fā)布新聞的日期,n_author為新聞發(fā)布者名,n_content為新聞內(nèi)容,n_ispic用于判斷是否為首頁(yè)滾動(dòng)圖片,n_spic為首頁(yè)所滾動(dòng)圖片的存儲(chǔ)地址,,n_check用于判斷是否為審核新聞(值為0表示未通過(guò)審核,值1表示通過(guò)審核),n_intro為新聞簡(jiǎn)

59、介,n_publisher為賬戶(hù)類(lèi)型,如為管理員、審核員或新聞?shì)斎雴T。</p><p>  Lb_Admin表如表5-2所示:</p><p><b>  表5-1-2賬戶(hù)表</b></p><p>  A_Id為該表主鍵,A_Name為用戶(hù)名,A_Password為密碼,A_Grade為用戶(hù)級(jí)別。</p><p>  

60、5.2各主要窗體頁(yè)的圖形界面介紹</p><p>  首頁(yè):主要功能是顯示最熱門(mén)、最新和推薦的前8條新聞,顯示新聞搜索功能、頁(yè)面風(fēng)格設(shè)置、新聞分類(lèi)、滾動(dòng)新聞圖片和網(wǎng)站公告等;如圖5-2-1所示:</p><p>  如圖5-2-1(下載源碼就到源碼網(wǎng):www.codepub.com)</p><p>  新聞詳細(xì)內(nèi)容查看頁(yè):在首頁(yè)里點(diǎn)擊新聞標(biāo)題所進(jìn)入的頁(yè)面,顯示當(dāng)前

61、所點(diǎn)擊新聞的詳細(xì)內(nèi)容,新聞標(biāo)題正中加粗顯示,在添加新聞時(shí),根據(jù)所編輯的新聞內(nèi)容對(duì)應(yīng)顯示;如圖5-2-2</p><p><b>  如圖5-2-2</b></p><p>  新聞?shì)斎雴T頁(yè)面:新聞?shì)斎雴T只具有添加新聞的權(quán)限,任何瀏覽者都可注冊(cè)成為新聞?shì)斎雴T,但所添加的新聞并不能直接發(fā)布到網(wǎng)站上顯示,而需經(jīng)過(guò)審核員或管理員審核是否給予通過(guò),這保證了網(wǎng)站內(nèi)容管理的合理性,

62、并不是隨便添加的新聞都能發(fā)布;如圖5-2-3</p><p><b>  如圖5-2-3</b></p><p>  新聞審核員頁(yè)面:審核員管理頁(yè)面主要是對(duì)新聞進(jìn)行審核,可對(duì)需審核的新聞內(nèi)容進(jìn)行查看和編輯,以確定是否授權(quán)發(fā)布,審核員除審核新聞外,也可添加新聞和管理新聞,所添加的新聞不需審核而可以直接發(fā)布,管理新聞包括修改和刪除新聞;如圖:5-2-4</p>

63、<p><b>  如圖:5-2-4</b></p><p>  新聞管理員頁(yè)面:管理員具有系統(tǒng)的所有權(quán)限,除審核員的審核新聞、添加新聞和管理新聞外,還可添加新聞部門(mén)和用戶(hù)。對(duì)用戶(hù)和新聞部門(mén)進(jìn)行管理,包括修改用戶(hù)ID和密碼,刪除用戶(hù),更改部門(mén)名稱(chēng),刪除新聞部門(mén),管理員所添加的新聞也不再需要審核而可以直接發(fā)布。如圖:5-2-5</p><p><b&

64、gt;  如圖:5-2-5</b></p><p>  5.3 頁(yè)面的風(fēng)格設(shè)計(jì)</p><p>  為使該系統(tǒng)的頁(yè)面美觀多樣,在設(shè)計(jì)時(shí)使用了8種樣式風(fēng)格。為了在頁(yè)面設(shè)計(jì)時(shí)方便調(diào)用,將其存儲(chǔ)于數(shù)據(jù)庫(kù)的Lb_Skins(風(fēng)格樣式)表中,各窗體通過(guò)調(diào)用style.css文件來(lái)設(shè)計(jì)界面外觀。</p><p>  CSS是Cascading Style Sheet

65、s(層疊樣式表單)的簡(jiǎn)稱(chēng),簡(jiǎn)稱(chēng)樣式表,它是一種設(shè)計(jì)網(wǎng)頁(yè)樣式的技術(shù)。CSS代碼的基本語(yǔ)句結(jié)構(gòu)為:選擇符{屬性名:屬性值},選擇符可以是HTML中任何的標(biāo)簽或自定義標(biāo)識(shí)符,比如P、DIV、IMG甚至BODY都可以作為選擇符。</p><p>  CSS在HTML文檔中有三種用法:</p><p>  一種是把CSS文檔放到<head>文檔中:<style type=“text

66、/css”> …… </style>;</p><p>  另一種方法是采用<style=“ ”>的格式把樣式寫(xiě)在任何html標(biāo)簽中的行內(nèi),這種方法比較方便靈活;</p><p>  還有一種方法是:把編輯好的CSS文檔保存成“.CSS”文件,然后在<head>中定義,定義的格式為:<head> <link href="

67、style.css" type="text/css" rel="stylesheet">…… </head> ,<link>和“rel=stylesheet”指連接的元素是一個(gè)樣式表文檔,“href=‘style.css’”指的是需要連接的文件地址。這種方法非常適宜同時(shí)定義多個(gè)文檔,能使多個(gè)文檔同時(shí)使用相同的樣式,從而減少了大量的冗余代碼。</p>

68、;<p><b>  5.4 系統(tǒng)配置</b></p><p>  5.4.1 Web.config文件配置</p><p>  ASP.NET應(yīng)用程序的配置功能放在Web.config文件中,它包含每一個(gè)具體Web應(yīng)用程序的配置信息。在程序運(yùn)行時(shí),ASP.NET使用分層虛擬目錄結(jié)構(gòu)的Web.config文件提供的配置信息為每個(gè)惟一的URL資源計(jì)算一組配

69、置設(shè)置,然后緩存結(jié)果配置設(shè)置,以供所有頁(yè)面對(duì)資源的請(qǐng)求使用。</p><p>  Web.config文件對(duì)于訪問(wèn)站點(diǎn)的用戶(hù)來(lái)說(shuō)是不可見(jiàn)的,而且也是不可訪問(wèn)的,它基于XML,每個(gè)配置文件都包含XML標(biāo)記和子標(biāo)記的嵌套層次結(jié)構(gòu)。</p><p>  新聞系統(tǒng)的Web.config文件中的配置:</p><p>  <appSettings><add

70、key="MdbPath" value="lbnews.mdb" /></appSettings> 通過(guò)鍵/值對(duì)key 和value配置數(shù)據(jù)庫(kù)連接的相關(guān)信息,將ACCESS數(shù)據(jù)庫(kù)lbnews.mdb文件用相對(duì)路徑的方式設(shè)置為字符串"MdbPath"在程序代碼中進(jìn)行連接引用。</p><p>  5.4.2 配置發(fā)布主頁(yè)</p>

71、;<p>  首先要?jiǎng)?chuàng)建虛擬目錄,新建虛擬目錄的步驟如下:</p><p>  ● 打開(kāi)IIS(Internet 信息服務(wù)),在默認(rèn)網(wǎng)站上右擊,在快捷菜單中選擇新建—>虛擬目錄; </p><p>  ● 在彈出的虛擬目錄創(chuàng)建向?qū)?duì)話框里點(diǎn)擊“下一步”; </p><p>  ● 輸入虛擬目錄別名;</p><p>  ●

72、 選擇網(wǎng)站內(nèi)容所在目錄路徑; </p><p>  ● 設(shè)置“訪問(wèn)”權(quán)限。 </p><p>  在所建虛擬目錄上右擊,在彈出菜單中選擇瀏覽,或在瀏覽器里輸入相應(yīng)網(wǎng)址,都可運(yùn)行瀏覽程序。虛擬目錄不在目錄列表中顯示(也稱(chēng)為 WWW 服務(wù)的“目錄瀏覽”),要訪問(wèn)虛擬目錄,用戶(hù)必須知道虛擬目錄的別名并在瀏覽器中鍵入 URL。對(duì)于 WWW 服務(wù),也可以在 HTML 頁(yè)面中創(chuàng)建鏈接。發(fā)布網(wǎng)站的時(shí)候,

73、把程序首頁(yè)的名字(index.aspx或default.aspx)寫(xiě)在IIS當(dāng)中就可以訪問(wèn)了。</p><p>  5.5 系統(tǒng)部分重要功能及其代碼</p><p>  5.5.1 Web用戶(hù)控件</p><p>  該系統(tǒng)中創(chuàng)建了兩個(gè)Web用戶(hù)控件top.ascx和bottom.ascx,在首頁(yè)、新聞詳細(xì)內(nèi)容查看、新聞分類(lèi)等頁(yè)面的HTML代碼里都進(jìn)行了引用,調(diào)用方

74、式為:</p><p>  <%@ Register TagPrefix="uc1" TagName="bottom" Src="bottom.ascx" %></p><p>  <%@ Register TagPrefix="uc1" TagName="top" Sr

75、c="top.ascx" %></p><p>  @ Register指令注冊(cè)用戶(hù)控件,同時(shí)把屬性TagName(標(biāo)簽名)和TagPrefix(標(biāo)簽前綴)添加到@ Register指令中,Src屬性表示該用戶(hù)控件相對(duì)于父頁(yè)面的相對(duì)地址。用戶(hù)控件也是服務(wù)器端控件,還必須在用戶(hù)控件代碼中添加Runat=server屬性,用法如下:</p><p>  <uc1

76、:top id="Top1" runat="server"></uc1:top></p><p>  <uc1:bottom id="Bottom1" runat="server"></uc1:bottom></p><p>  其中top.ascx用戶(hù)控件作用是顯示首

77、頁(yè)圖片、“首頁(yè)”文本字體、新聞分類(lèi)、新聞風(fēng)格和當(dāng)前日期,bottom.ascx用戶(hù)控件作用是顯示底部相關(guān)網(wǎng)站信息等。</p><p>  用戶(hù)控件是非常易于代碼重用的,可以把許多相關(guān)功能和用戶(hù)界面封裝在一個(gè)用戶(hù)控件中,然后在任何需要該功能的地方重用此控件。</p><p>  5.5.2 通用類(lèi)代碼</p><p>  在所有相關(guān)頁(yè)面顯示文件和Web用戶(hù)控件的代碼隱

78、藏文件.aspx.cs或.ascx.cs中,通過(guò)對(duì)數(shù)據(jù)訪問(wèn)類(lèi)的引用(以創(chuàng)建類(lèi)實(shí)例方式),調(diào)用數(shù)據(jù)訪問(wèn)類(lèi)里的相應(yīng)函數(shù)完成相關(guān)功能,如建立數(shù)據(jù)庫(kù)連接、打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)、對(duì)數(shù)據(jù)庫(kù)執(zhí)行查詢(xún)、插入、刪除和更新操作、頁(yè)面登陸檢驗(yàn)等。</p><p>  此處列舉Conn類(lèi)(數(shù)據(jù)訪問(wèn)類(lèi))中主要函數(shù)的源碼:</p><p>  public class Conn</p><p>&

79、lt;b>  {</b></p><p>  // 建立數(shù)據(jù)庫(kù)連接字符串</p><p>  public OleDbConnection Lb_Conn=new OleDbConnection(strConn);</p><p>  public static string strConn //通過(guò)創(chuàng)建一個(gè)屬性來(lái)連接數(shù)據(jù)庫(kù)</p>

80、<p><b>  {</b></p><p>  get //使用get方法返回此屬性的值</p><p><b>  {</b></p><p>  StringBuilder strResult = new StringBuilder();</p><p>  strRes

81、ult.Append("Provider = Microsoft.Jet.OLEDB.4.0");</p><p>  strResult.Append("; ");</p><p>  strResult.Append("Data Source = ");</p><p>  strResult.Appe

82、nd(HttpContext.Current.Server.MapPath("."));</p><p>  //HttpContext應(yīng)用程序上下文類(lèi),Current屬性表示進(jìn)程中當(dāng)前請(qǐng)</p><p>  //求的上下文,MapPath()方法表示返回與Web服務(wù)器上的指定虛</p><p>  //擬路徑相對(duì)應(yīng)的物理文件路徑,此處作用是創(chuàng)建

83、數(shù)據(jù)庫(kù)文件的虛擬路徑 </p><p>  strResult.Append("\\");</p><p>  strResult.Append(ConfigurationSettings.AppSettings["MdbPath"]);</p><p>  //從配置文件中取到數(shù)據(jù)庫(kù)連接字符串,“MdbPath”為W

84、eb.config</p><p>  //文件中的鍵/值對(duì)所設(shè)置的key值</p><p>  return strResult.ToString(); //返回字符串類(lèi)型</p><p><b>  }</b></p><p><b>  } </b></p><p>

85、  public OleDbDataReader ExecuteOleDbDataReader(string strSql)</p><p>  { //此函數(shù)表示從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)時(shí)以只進(jìn)只讀的行流的方式進(jìn)行</p><p>  OleDbCommand cmd=new OleDbCommand(strSql,Lb_Conn);</p><p>  OleDb

86、DataReader rd=cmd.ExecuteReader();</p><p>  //通過(guò)調(diào)用對(duì)象OleDbCommand的ExecuteReader()方法創(chuàng)建//OleDbDataReader對(duì)象</p><p>  return rd;</p><p><b>  }</b></p><p>  publi

87、c DataSet CreateDataSet(string strSql,string tableName)</p><p><b>  {</b></p><p>  OleDbDataAdapter da=new OleDbDataAdapter(strSql,Lb_Conn);</p><p>  //創(chuàng)建DataAdapter類(lèi)實(shí)例,

88、可用于填充DataSet對(duì)象和檢索、更新數(shù)據(jù)</p><p>  DataSet dst=new DataSet();</p><p>  da.Fill(dst,tableName);</p><p>  //填充DataSet(數(shù)據(jù)集)中的一個(gè)表</p><p>  return dst;</p><p><

89、b>  }</b></p><p>  public int ExecuteSql(string strSql) </p><p><b>  {</b></p><p>  OleDbCommand cmd2=new OleDbCommand(strSql,Lb_Conn);</p><p>  i

90、ntresult=cmd2.ExecuteNonQuery();</p><p>  //對(duì)數(shù)據(jù)庫(kù)執(zhí)行插入、刪除和更新等操作,返回影響數(shù)據(jù)庫(kù)記錄的行數(shù)</p><p>  return result;</p><p><b>  }</b></p><p><b>  }</b></p>

91、;<p>  '數(shù)據(jù)起始位置:2個(gè)CRLF開(kāi)始 </p><p>  DataStart = InStrB(PosOpenBoundary,FormData,str2bin(VbCrLf & VbCrLf)) + 4 </p><p>  If FormFileName 〈〉 "" Then </p><p>  &

92、#39;數(shù)據(jù)長(zhǎng)度,減1是因?yàn)閿?shù)據(jù)文件的存取字節(jié)數(shù)問(wèn)題(可能是AppendChunk方法的問(wèn)題): </p><p>  '由于字節(jié)數(shù)為奇數(shù)的圖象存到數(shù)據(jù)庫(kù)時(shí)會(huì)去掉最后一個(gè)字符導(dǎo)致圖象不能正確顯示, </p><p>  '字節(jié)數(shù)為偶數(shù)的數(shù)據(jù)文件就不會(huì)出現(xiàn)這個(gè)問(wèn)題,因此必須保持字節(jié)數(shù)為偶數(shù)。 </p><p>  DataSize = InStrB(D

93、ataStart,FormData,DivStr) - DataStart - 1 </p><p>  FormFieldData = MidB(FormData,DataStart,DataSize) </p><p><b>  Else </b></p><p>  '數(shù)據(jù)長(zhǎng)度,減2是因?yàn)榉指魳?biāo)志串前有一個(gè)CRLF </p

94、><p>  DataSize = InStrB(DataStart,FormData,DivStr) - DataStart - 2 </p><p>  FormFieldData = bin2str(MidB(FormData,DataStart,DataSize)) </p><p><b>  End If </b></p>

95、<p>  '建立一個(gè)Dictionary集存儲(chǔ)Form中各個(gè)Field的相關(guān)數(shù)據(jù) </p><p>  Set Field = CreateUploadField() </p><p>  Field.Name = FormFieldName </p><p>  Field.FilePath = FormFileName </p>

96、<p>  Field.FileName = GetFileName(FormFileName) </p><p>  Field.ContentType = FormFileCT </p><p>  Field.Length = LenB(FormFieldData) </p><p>  Field.Value = FormFieldData &

97、lt;/p><p>  Fields.Add FormFieldName, Field </p><p>  PosOpenBoundary = PosCloseBoundary </p><p>  PosCloseBoundary = InStrB(PosOpenBoundary + 1,FormData,DivStr) </p><p>&

98、lt;b>  Wend </b></p><p>  Set GetUpload = Fields </p><p>  End Function </p><p>  '把二進(jìn)制字符串轉(zhuǎn)換成普通字符串函數(shù) </p><p>  Function bin2str(binstr) </p><p&g

99、t;  Dim varlen,clow,ccc,skipflag </p><p>  '中文字符Skip標(biāo)志 </p><p>  skipflag=0 </p><p><b>  ccc = "" </b></p><p>  If Not IsNull(binstr) Then <

100、;/p><p>  varlen=LenB(binstr) </p><p>  For i=1 To varlen </p><p>  If skipflag=0 Then </p><p>  clow = MidB(binstr,i,1) </p><p>  '判斷是否中文的字符 </p>

101、<p>  If AscB(clow) 〉 127 Then </p><p>  'AscW會(huì)把二進(jìn)制的中文雙字節(jié)字符高位和低位反轉(zhuǎn),所以要先把中文的高低位反轉(zhuǎn) </p><p>  ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow)) </p><p>  skipflag=1 <

102、/p><p><b>  Else </b></p><p>  ccc = ccc & Chr(AscB(clow)) </p><p><b>  End If </b></p><p><b>  Else </b></p><p>  ski

103、pflag=0 </p><p><b>  End If </b></p><p><b>  Next </b></p><p><b>  End If </b></p><p>  bin2str = ccc </p><p>  End Fun

104、ction </p><p>  '把普通字符串轉(zhuǎn)成二進(jìn)制字符串函數(shù) </p><p>  Function str2bin(varstr) </p><p>  str2bin="" </p><p>  For i=1 To Len(varstr) </p><p>  varchar=

105、mid(varstr,i,1) </p><p>  varasc = Asc(varchar) </p><p>  ' asc對(duì)中文字符求出來(lái)的值可能為負(fù)數(shù), </p><p>  ' 加上65536就可求出它的無(wú)符號(hào)數(shù)值 </p><p>  ' -1在機(jī)器內(nèi)是用補(bǔ)碼表示的0xffff, </p>

106、<p>  ' 其無(wú)符號(hào)值為65535,65535=-1+65536 </p><p>  ' 其他負(fù)數(shù)依次類(lèi)推。 </p><p>  If varasc〈0 Then </p><p>  varasc = varasc + 65535 </p><p><b>  End If </b>&

107、lt;/p><p>  '對(duì)中文的處理:把雙字節(jié)低位和高位分開(kāi) </p><p>  If varasc〉255 Then </p><p>  varlow = Left(Hex(Asc(varchar)),2) </p><p>  varhigh = right(Hex(Asc(varchar)),2) </p>&l

108、t;p>  str2bin = str2bin & chrB("&H" & varlow) & chrB("&H" & varhigh) </p><p><b>  Else </b></p><p>  str2bin = str2bin & chrB(AscB(

109、varchar)) </p><p><b>  End If </b></p><p><b>  Next </b></p><p>  End Function </p><p>  '取得文件名(去掉Path) </p><p>  Function GetF

110、ileName(FullPath) </p><p>  If FullPath 〈〉 "" Then </p><p>  FullPath = StrReverse(FullPath) </p><p>  FullPath = Left(FullPath, InStr(1, FullPath, "\") - 1) <

111、;/p><p>  GetFileName = StrReverse(FullPath) </p><p><b>  Else </b></p><p>  GetFileName = "" </p><p><b>  End If </b></p><p&g

112、t;  End Function </p><p>  〈/SCRIPT〉 </p><p>  〈SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT〉 </p><p>  function CreateUploadField(){ return new uf_Init() } </p><p>  function

113、uf_Init(){ </p><p>  this.Name = null </p><p>  this.FileName = null </p><p>  this.FilePath = null </p><p>  this.ContentType = null </p><p>  this.Value

114、= null </p><p>  this.Length = null </p><p><b>  } </b></p><p><b>  〈/SCRIPT〉</b></p><p><b>  //新聞添加</b></p><p>  〈!--#

115、include file="news_session.asp"--〉</p><p><b>  〈html〉</b></p><p><b>  〈head〉 </b></p><p>  〈meta http-equiv="Content-Language" content=&q

116、uot;zh-cn"〉</p><p>  〈meta http-equiv="Content-Type" content="text/html; charset=gb2312"〉</p><p>  〈style type="text/css"〉</p><p>  .buttonface {&

117、lt;/p><p>  BACKGROUND-COLOR: #0079F2; BORDER-BOTTOM: #333333 1px outset; BORDER-LEFT: #333333 1px outset; BORDER-RIGHT: #ffffff 1px outset; BORDER-TOP: #ffffff 1px outset; COLOR: #ffffff; FONT-SIZE: 9pta { col

118、or: #000000; text-decoration: none}</p><p><b>  〈/style〉</b></p><p>  〈SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript〉 </p><p><b>  〈!-- </b></p>

119、<p>  function client_onblur(ii) { </p><p>  server=eval("form1.server"+ii) </p><p>  if(server.value==""){ </p><p>  client=eval("form1.client"+

120、ii) </p><p>  clientvalue=client.value+"" </p><p>  varlen=clientvalue.length </p><p>  a=clientvalue.lastIndexOf('\\') </p><p>  clientvalue=clientva

121、lue.substring(a+1)</p><p>  //alert(clientvalue); </p><p>  server.value=clientvalue </p><p><b>  } </b></p><p><b>  } </b></p><p>

122、  function form1_onsubmit() { </p><p>  for(i=1;i〈1;i++){ </p><p>  client=eval("form1.client"+i) </p><p>  server=eval("form1.server"+i) </p><p>  

123、if(client.value!="" && server.value==""){alert("上傳后的文件名不能空!");server.focus();return false} </p><p><b>  } </b></p><p><b>  } </b><

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論