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

下載本文檔

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

文檔簡介

1、<p>  Asp.net新聞發(fā)布系統(tǒng)</p><p>  摘 要: ASP.NET是新一代Web應(yīng)用程序開發(fā)平臺,它是一個(gè)已編譯的、基于.NET的開發(fā)環(huán)境,它提供了生成企業(yè)級應(yīng)用程序所必需的全部服務(wù),基于 .NET Framework 生成,整個(gè)框架都可用于任何 ASP.NET 應(yīng)用程序。可以使用任何與公共語言運(yùn)行庫(CLR)兼容的語言(包括 Visual Basic.NET、C# 和 JScr

2、ipt .NET)來創(chuàng)建應(yīng)用程序。該系統(tǒng)使用ASP.NET(C#語言)和ADO.NET技術(shù)開發(fā), 實(shí)現(xiàn)了網(wǎng)站新聞的動(dòng)態(tài)管理,使得對信息的管理更加及時(shí)、高效,提高了工作效率,具有一般新聞系統(tǒng)的功能,主要包括前臺新聞查看區(qū)和后臺管理區(qū),可為企業(yè)各部門發(fā)布新聞,為企業(yè)網(wǎng)站提供新聞發(fā)布與管理的服務(wù)。</p><p>  關(guān)鍵詞: ASP.NET ADO.NET 新聞管理 Browser/Server<

3、;/p><p><b>  目 錄</b></p><p><b>  引言1</b></p><p>  第一章 研究背景2</p><p>  1.1 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢2</p><p>  1.2 研究目的、意義和范圍3</p><p&

4、gt;  第二章 課題分析4</p><p>  2.1 需求分析4</p><p>  2.2 新聞系統(tǒng)的性能需求5</p><p>  2.3 運(yùn)行環(huán)境要求6</p><p><b>  2.3.1設(shè)備6</b></p><p>  2.3.2支持程序6</p>&l

5、t;p>  第三章 系統(tǒng)結(jié)構(gòu)流程6</p><p>  3.1 新聞系統(tǒng)的模型結(jié)構(gòu)6</p><p>  3.2 新聞系統(tǒng)的功能模塊簡介7</p><p>  第四章 使用技術(shù)的介紹9</p><p>  4.1 .NET Framework概述9</p><p>  4.2 ASP.NET、ADO

6、.NET和C#語言簡介10</p><p>  第五章 新聞系統(tǒng)的主要開發(fā)過程12</p><p>  5.1 數(shù)據(jù)庫設(shè)計(jì)12</p><p>  5.2各主要窗體頁的圖形界面介紹13</p><p>  5.3 頁面的風(fēng)格設(shè)計(jì)15</p><p>  5.4 系統(tǒng)配置15</p><p

7、>  5.4.1 Web.config文件配置16</p><p>  5.4.2 配置發(fā)布主頁16</p><p>  5.5 系統(tǒng)部分重要功能及其代碼19</p><p>  5.5.1 Web用戶控件19</p><p>  5.5.2 通用類代碼19</p><p>  5.5.3 添加發(fā)布新聞

8、27</p><p>  5.5.4 用戶注冊29</p><p>  第六章 結(jié)束語31</p><p>  第七章 致 謝 32</p><p>  參考文獻(xiàn)………………………………………………………………… 33</p><p><b>  引言</b></p><

9、;p>  ASP.NET是微軟公司最新推出的一種統(tǒng)一Web開發(fā)平臺,與最新的數(shù)據(jù)訪問技術(shù)ADO.NET一起可構(gòu)建出強(qiáng)大、安全和可靠的企業(yè)級Web應(yīng)用程序。ASP.NET的語法在很大程度上與ASP兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序。</p><p>  采取了ASP.NET技術(shù)的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: </p><p

10、>  ● 由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復(fù)打開時(shí)速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應(yīng)用程序重新啟動(dòng)。這使得在多次訪問時(shí)速度有了極大的提升 ● 由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用ASP撰寫數(shù)據(jù)庫頁面時(shí)只能借助ADO的RecordSet對象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)

11、庫元件可以直接和數(shù)據(jù)庫聯(lián)系;</p><p>  ● ASP.NET支持應(yīng)用程序的實(shí)時(shí)更新,管理員不必關(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ù)"方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系

12、統(tǒng)開發(fā)與維護(hù)的復(fù)雜度和費(fèi)用。</p><p><b>  第一章 研究背景</b></p><p>  1.1 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢</p><p>  傳統(tǒng)的網(wǎng)站新聞管理方式有兩種:一種是靜態(tài)HTML頁面,更新信息時(shí)需要重新制作頁面然后上傳頁面并修改相應(yīng)鏈接,這種方式因?yàn)樾侍鸵巡欢嘤?;另一種是基于ASP和腳本語言,將動(dòng)態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)

13、合,通過應(yīng)用程序來處理新聞,這是目前較為流行的做法。但是由于ASP技術(shù)本身的局限性使得系統(tǒng)有一些不可克服的缺陷。</p><p>  ASP.NET不僅僅是下一版本的ASP(Active Server Pages,動(dòng)態(tài)服務(wù)器頁面),而且是建立動(dòng)態(tài)Web應(yīng)用程序而重新打造的全新技術(shù),其主要特色包括:</p><p><b>  ● 語言的獨(dú)立性;</b></p&g

14、t;<p>  ● 簡單的開發(fā)操作,分離程序代碼和網(wǎng)頁內(nèi)容;</p><p>  ● 提高了執(zhí)行效率;</p><p>  ● 簡化部署與組態(tài)的操作;</p><p>  ● 支持客戶端類型;</p><p>  ● 支持下一代的Web服務(wù);</p><p><b>  ● 增進(jìn)適用性;<

15、/b></p><p><b>  ● 增進(jìn)延展性;</b></p><p>  ● 更多的支持工具;</p><p>  ● 更佳的安全機(jī)制;</p><p>  ● 會(huì)話(Session)可以跨進(jìn)程、跨機(jī)器。</p><p>  由于ASP.NET的眾多優(yōu)點(diǎn),技術(shù)發(fā)展和各種客觀實(shí)際的需要

16、,該系統(tǒng)選用了ASP.NET來開發(fā)設(shè)計(jì),實(shí)現(xiàn)了對校園新聞的動(dòng)態(tài)管理操作,使得對新聞信息的發(fā)布與管理更加及時(shí)、高效,提高了工作效率。</p><p>  1.2 研究目的、意義和范圍</p><p>  隨著Internet的普及,越來越多的企業(yè)建立了自己的WWW網(wǎng)站,企業(yè)通過網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動(dòng)態(tài)信息,與用戶進(jìn)行交流和溝通,與合作伙伴建立聯(lián)系,以及開展電子商務(wù)等。</p>

17、;<p>  其中新聞管理系統(tǒng)是構(gòu)成企業(yè)網(wǎng)站的一個(gè)重要組成部分,它擔(dān)負(fù)著雙層作用:</p><p>  一方面可以用來動(dòng)態(tài)發(fā)布有關(guān)新產(chǎn)品或新開發(fā)項(xiàng)目;</p><p>  另一方面又可以及時(shí)向顧客公告企業(yè)經(jīng)營業(yè)績、技術(shù)與研發(fā)進(jìn)展、特別推薦或優(yōu)惠的工程項(xiàng)目、產(chǎn)品和服務(wù),從而吸引顧客,擴(kuò)大顧客群。</p><p>  該系統(tǒng)使用ASP.NET(C#語言)和

18、ADO.NET技術(shù)開發(fā), 實(shí)現(xiàn)了網(wǎng)站新聞的動(dòng)態(tài)管理,使得對信息的管理更加及時(shí)、高效,提高了工作效率。該新聞系統(tǒng)具有一般新聞系統(tǒng)的功能,主要包括前臺新聞查看區(qū)和后臺管理區(qū),可為企業(yè)各部門發(fā)布新聞,為企業(yè)網(wǎng)站提供新聞發(fā)布與管理的服務(wù)。</p><p>  該系統(tǒng)是基于B/S(Browser/Server,瀏覽器/客戶端)模式實(shí)現(xiàn),基于.NET平臺架構(gòu)開發(fā)設(shè)計(jì),主要實(shí)現(xiàn)對校園新聞的發(fā)布與管理功能,對新聞內(nèi)容信息的瀏覽閱

19、讀等。 隨著Internet/Intranet技術(shù)的興起,將原本在單機(jī)或本地局域網(wǎng)上運(yùn)行的數(shù)據(jù)庫系統(tǒng)移植到因特網(wǎng)中,即開發(fā)基于B/S模式的新一代MIS(Management Information System,管理信息系統(tǒng))系統(tǒng),正成為技術(shù)發(fā)展的趨勢。為了保證系統(tǒng)性能的高效性、可擴(kuò)展性,以及達(dá)到數(shù)據(jù)共享和網(wǎng)絡(luò)化管理的目的,本系統(tǒng)采用B/S體系結(jié)構(gòu)進(jìn)行設(shè)計(jì)開發(fā)。</p><p><b>  第二

20、章 課題分析</b></p><p><b>  2.1 需求分析</b></p><p>  該系統(tǒng)的用戶為企業(yè)網(wǎng)站,需要經(jīng)常發(fā)布一些新聞,如何能有效地管理和發(fā)布新聞呢?最初用戶的需求為:“該新聞系統(tǒng)具有一般新聞系統(tǒng)的功能,同時(shí)具有新聞審核和不同管理員不同管理權(quán)限的功能” 。</p><p>  通過對其它一些新聞系統(tǒng)的調(diào)查發(fā)現(xiàn),

21、一般新聞系統(tǒng)功能如下:</p><p>  前臺按分類顯示新聞;</p><p><b>  搜索新聞;</b></p><p><b>  后臺管理:</b></p><p>  ● 添加、刪除和修改新聞</p><p>  ● 添加、刪除和修改用戶</p>

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

23、全面管理,同時(shí)管理員可以修改自己的一些信息。</p><p>  根據(jù)企業(yè)網(wǎng)站新聞發(fā)布管理的實(shí)際需求,在首頁中能顯示最熱門新聞、頭條新聞和最近發(fā)布的幾條新聞等,同時(shí)在后臺發(fā)布新聞時(shí)可以添加圖片,也可以添加HTML語法,在前臺能自動(dòng)根據(jù)所顯示的圖片和HTML語法來顯示新聞。</p><p>  在后臺管理中,因?yàn)橛袡?quán)限的管理員才能登錄管理后臺,所以需要有個(gè)登錄驗(yàn)證模塊,而且需要根據(jù)用戶權(quán)限的

24、不同顯示不同的管理目錄,在管理新聞和用戶時(shí),當(dāng)數(shù)據(jù)少時(shí)管理起來還比較方便,如果一多則想找到某條新聞或某個(gè)用戶就很難,所以需要有個(gè)查找(新聞標(biāo)題、用戶)模塊用于查找新聞或用戶。</p><p>  根據(jù)以上需求分析,該系統(tǒng)要實(shí)現(xiàn)的主要功能為:</p><p><b>  前臺顯示新聞部分</b></p><p><b>  ● 用戶登錄

25、區(qū)</b></p><p>  ● 顯示最熱門的前幾條新聞</p><p>  ● 顯示推薦的前幾條新聞</p><p>  ● 顯示最新的前幾條新聞</p><p><b>  ● 搜索新聞功能</b></p><p>  ● 顯示所有新聞分類(即部門)</p><

26、;p>  ● 按分類/部門顯示其下的所有新聞</p><p>  ● 新聞詳細(xì)信息瀏覽閱讀</p><p>  ● 圖片新聞(自動(dòng)生成縮略圖)以滾動(dòng)形式在首頁顯示且只顯示前幾條</p><p>  ● 網(wǎng)站友情鏈接(可在管理中添加設(shè)置)</p><p>  ● 網(wǎng)站公告可顯示發(fā)布了新聞但沒通過審核的一些相關(guān)通知等</p>

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

28、lt;p><b>  ● 管理審核新聞</b></p><p><b>  ● 分類管理</b></p><p><b>  ● 用戶管理</b></p><p>  ● 網(wǎng)站風(fēng)格設(shè)置、系統(tǒng)設(shè)置等</p><p>  2.2 新聞系統(tǒng)的性能需求</p>&l

29、t;p>  該系統(tǒng)在性能功能上應(yīng)達(dá)到如下需求:</p><p>  操作簡單、界面友好: 完全控件式的頁面布局,使得新聞的錄入工作更簡便,許多選項(xiàng)包括新聞分類、來源部門等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時(shí)清楚自己的操作情況。對常見網(wǎng)站的新聞管理的各個(gè)方面:新聞錄入、瀏覽、刪除、修改、搜索等方面都大體實(shí)現(xiàn),實(shí)現(xiàn)了網(wǎng)站對即時(shí)新聞的管理要求; 即時(shí)可見:對新聞的處理(包括錄入

30、、修改、刪除)將立即在主頁的對應(yīng)欄目顯示出來,達(dá)到“即時(shí)發(fā)布、即時(shí)見效”的功能;</p><p>  系統(tǒng)運(yùn)行應(yīng)該快速、穩(wěn)定、高效和可靠;</p><p>  在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性,便于將來的功能擴(kuò)展和維護(hù)。</p><p>  2.3 運(yùn)行環(huán)境要求</p><p><b>  2.3.1設(shè)備</b></p

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

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

33、:Windows 2000 Server或者Windows 2003 Server</p><p>  Web服務(wù)器:MS IIS</p><p>  應(yīng)用服務(wù)器:IIS、COM+等企業(yè)級應(yīng)用服務(wù)器</p><p>  數(shù)據(jù)庫:Access</p><p>  第三章 系統(tǒng)結(jié)構(gòu)流程</p><p>  3.1 新聞系統(tǒng)

34、的模型結(jié)構(gòu)</p><p>  該系統(tǒng)的模型結(jié)構(gòu)如圖3-1所示:</p><p>  圖3-1-1新聞系統(tǒng)的模型結(jié)構(gòu)圖示</p><p>  該系統(tǒng)結(jié)構(gòu)分為三個(gè)邏輯層:</p><p>  Web 層:Web層為客戶端瀏覽器提供對應(yīng)用程序的訪問,這一層是作為解決方案文件中的 Web 項(xiàng)目實(shí)現(xiàn)的。Web 層由 ASP.NET Web 窗體和代碼

35、隱藏文件組成,Web 窗體只是用 HTML 提供用戶操作,而代碼隱藏文件實(shí)現(xiàn)各種控件的事件處理程序; </p><p>  業(yè)務(wù)層:包含各種業(yè)務(wù)規(guī)則和邏輯的實(shí)現(xiàn),業(yè)務(wù)規(guī)則完成如客戶帳戶的驗(yàn)證和字符串處理這樣的任務(wù);</p><p>  數(shù)據(jù)訪問層:數(shù)據(jù)訪問層為業(yè)務(wù)層提供數(shù)據(jù)服務(wù),這一層是作為解決方案文件中的 Conn類(數(shù)據(jù)訪問類,實(shí)現(xiàn)公共操作的一個(gè)通用類)實(shí)現(xiàn)的;</p>

36、<p>  3.2 新聞系統(tǒng)的功能模塊簡介</p><p>  圖3-2-1列出系統(tǒng)的功能模塊圖:</p><p>  圖3-2-1 系統(tǒng)功能模塊圖示</p><p><b>  工作流程為:</b></p><p>  打開該系統(tǒng)網(wǎng)站,普通瀏覽者能瀏覽、閱讀和搜索新聞,能進(jìn)行注冊,注冊后為新聞輸入員,登錄進(jìn)入

37、新聞后臺管理區(qū), 只有添加新聞的權(quán)限;如登錄時(shí)為新聞審核員,其不但有添加新聞的權(quán)限,還有審核和管理新聞的權(quán)限;如為系統(tǒng)管理員,其有新聞后臺管理區(qū)內(nèi)的所有權(quán)限,除具有新聞審核員所有的權(quán)限外,還有添加和管理新聞分類、添加和管理用戶、系統(tǒng)、風(fēng)格和友情鏈接設(shè)置。</p><p>  在添加新聞時(shí),除常規(guī)的添加新聞標(biāo)題、新聞內(nèi)容、新聞作者和新聞簡介外,還可選擇是否為首頁新聞、是否為推薦新聞和是否在首頁滾動(dòng)圖片(上傳圖片)等

38、,對新聞內(nèi)容的字體、字號和字體顏色可以調(diào)整,類似Word的一些簡單的編輯功能,還可設(shè)置超鏈接和插入表格等。如添加新聞?wù)邽樾侣勢斎雴T,其所添加的新聞需要系統(tǒng)管理員或?qū)徍藛T經(jīng)審核后才能發(fā)布到網(wǎng)上;如是管理員或者審核員添加新聞的話,不需要再經(jīng)誰審核,直接可以發(fā)布到網(wǎng)上。</p><p>  管理新聞功能包括對任一條新聞內(nèi)容可作相應(yīng)修改,也可刪除任何一條不再需要保留的新聞。管理新聞分類包括對新聞分類名稱作修改,也可將任一

39、分類名刪除,刪除后其分類下的所有新聞也將被刪除。添加用戶時(shí),用戶等級可為管理員、審核員或者輸入員之一,管理用戶包括修改用戶名、密碼和用戶等級,也可將任一用戶刪除。</p><p>  系統(tǒng)設(shè)置包括設(shè)置網(wǎng)站標(biāo)題、網(wǎng)站地址、首頁圖片、網(wǎng)站公告(可用來顯示當(dāng)前有哪些新聞輸入員所添加的新聞沒有通過審核,具體的原因理由等)、網(wǎng)站鏈接(此文本內(nèi)容可更改)和底部信息(可放置一些與站點(diǎn)相關(guān)的文本內(nèi)容等),對系統(tǒng)設(shè)置里的內(nèi)容,隨時(shí)

40、可做相應(yīng)的修改,這權(quán)限只有系統(tǒng)管理員才擁有。風(fēng)格設(shè)置指從系統(tǒng)八種風(fēng)格里任選一種作為當(dāng)前網(wǎng)站的默認(rèn)風(fēng)格。友情鏈接主要是以圖片的形式鏈接到其它網(wǎng)站,作用跟系統(tǒng)設(shè)置里的網(wǎng)站鏈接功能一樣。</p><p>  第四章 使用技術(shù)的介紹</p><p>  4.1 .NET Framework概述</p><p>  .NET Framework 是用于 .NET 平臺的編程

41、模型,其關(guān)鍵組件是公共語言運(yùn)行庫(CLR,Common Language Runtime)和 .NET Framework 類庫(包括 ADO.NET、ASP.NET 和 Windows 窗體),它提供了托管執(zhí)行環(huán)境、簡化的開發(fā)和部署以及與各種編程語言的集成,是支持生成和運(yùn)行下一代應(yīng)用程序和 XML Web services 的內(nèi)部 Windows 組件。</p><p>  .NET Framework 旨在實(shí)

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

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

44、t;  公共語言運(yùn)行庫是 .NET Framework 的基礎(chǔ),可以將運(yùn)行庫看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,它提供內(nèi)存管理、線程管理和遠(yuǎn)程處理等核心服務(wù),并且還強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫的基本原則。以運(yùn)行庫為目標(biāo)的代碼稱為托管代碼,而不以運(yùn)行庫為目標(biāo)的代碼稱為非托管代碼。</p><p>  .NET Framework 類庫是一個(gè)綜合性的

45、面向?qū)ο蟮目芍赜妙愋图?,可以使用它開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應(yīng)用程序,也包括基于 ASP.NET 所提供的最新創(chuàng)建的應(yīng)用程序(如 Web 窗體和 XML Web Services)。</p><p>  4.2 ASP.NET、ADO.NET和C#語言簡介</p><p>  ASP.NET結(jié)構(gòu)是一個(gè)三層系統(tǒng):UI層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,

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

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

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

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

50、進(jìn)且只讀的數(shù)據(jù)流。DataAdapter 對象是DataSet 對象和數(shù)據(jù)源之間關(guān)聯(lián)的橋梁,用數(shù)據(jù)源填充DataSet并解析更新。設(shè)計(jì) ADO.NET 組件的目的是為了從“數(shù)據(jù)操作”中分解出“數(shù)據(jù)訪問”。</p><p>  C#語言是.NET中一種嶄新的語言,C#是由C和C++派生而來的一種“簡單、流行、面向?qū)ο蟆㈩愋桶踩钡某绦蛟O(shè)計(jì)語言,C#意在綜合Visual Basic的高效率和C++的強(qiáng)大功能。<

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

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

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

54、為新聞簡介,n_publisher為賬戶類型,如為管理員、審核員或新聞輸入員。</p><p>  Lb_Admin表如表5-2所示:</p><p><b>  表5-1-2賬戶表</b></p><p>  A_Id為該表主鍵,A_Name為用戶名,A_Password為密碼,A_Grade為用戶級別。</p><p&g

55、t;  5.2各主要窗體頁的圖形界面介紹</p><p>  首頁:主要功能是顯示最熱門、最新和推薦的前8條新聞,顯示新聞搜索功能、頁面風(fēng)格設(shè)置、新聞分類、滾動(dòng)新聞圖片和網(wǎng)站公告等;如圖5-2-1所示:</p><p>  新聞詳細(xì)內(nèi)容查看頁:在首頁里點(diǎn)擊新聞標(biāo)題所進(jìn)入的頁面,顯示當(dāng)前所點(diǎn)擊新聞的詳細(xì)內(nèi)容,新聞標(biāo)題正中加粗顯示,在添加新聞時(shí),根據(jù)所編輯的新聞內(nèi)容對應(yīng)顯示;如圖5-2-2&l

56、t;/p><p><b>  如圖5-2-2</b></p><p>  新聞輸入員頁面:新聞輸入員只具有添加新聞的權(quán)限,任何瀏覽者都可注冊成為新聞輸入員,但所添加的新聞并不能直接發(fā)布到網(wǎng)站上顯示,而需經(jīng)過審核員或管理員審核是否給予通過,這保證了網(wǎng)站內(nèi)容管理的合理性,并不是隨便添加的新聞都能發(fā)布;如圖5-2-3</p><p><b> 

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

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

59、風(fēng)格設(shè)計(jì)</p><p>  為使該系統(tǒng)的頁面美觀多樣,在設(shè)計(jì)時(shí)使用了8種樣式風(fēng)格。為了在頁面設(shè)計(jì)時(shí)方便調(diào)用,將其存儲于數(shù)據(jù)庫的Lb_Skins(風(fēng)格樣式)表中,各窗體通過調(diào)用style.css文件來設(shè)計(jì)界面外觀。</p><p>  CSS是Cascading Style Sheets(層疊樣式表單)的簡稱,簡稱樣式表,它是一種設(shè)計(jì)網(wǎng)頁樣式的技術(shù)。CSS代碼的基本語句結(jié)構(gòu)為:選擇符{屬性

60、名:屬性值},選擇符可以是HTML中任何的標(biāo)簽或自定義標(biāo)識符,比如P、DIV、IMG甚至BODY都可以作為選擇符。</p><p>  CSS在HTML文檔中有三種用法:</p><p>  一種是把CSS文檔放到<head>文檔中:<style type=“text/css”> …… </style>;</p><p>  另一

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

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

63、<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ì)算一組配置設(shè)置,然后緩存結(jié)果配置設(shè)置,以供所有頁面對資源的請求使用。</p><p>  

64、Web.config文件對于訪問站點(diǎn)的用戶來說是不可見的,而且也是不可訪問的,它基于XML,每個(gè)配置文件都包含XML標(biāo)記和子標(biāo)記的嵌套層次結(jié)構(gòu)。</p><p>  新聞系統(tǒng)的Web.config文件中的配置:</p><p>  <appSettings><add key="MdbPath" value="lbnews.mdb"

65、/></appSettings> 通過鍵/值對key 和value配置數(shù)據(jù)庫連接的相關(guān)信息,將SQL數(shù)據(jù)庫lbnews.mdf文件用相對路徑的方式設(shè)置為字符串"MdbPath"在程序代碼中進(jìn)行連接引用。</p><p>  5.4.2 配置發(fā)布主頁</p><p>  首先要?jiǎng)?chuàng)建虛擬目錄,新建虛擬目錄的步驟如下:</p><p>

66、;  ● 打開IIS(Internet 信息服務(wù)),在默認(rèn)網(wǎng)站上右擊,在快捷菜單中選擇新建—>虛擬目錄; </p><p>  ● 在彈出的虛擬目錄創(chuàng)建向?qū)υ捒蚶稂c(diǎn)擊“下一步”; </p><p>  ● 輸入虛擬目錄別名;</p><p>  ● 選擇網(wǎng)站內(nèi)容所在目錄路徑; </p><p>  ● 設(shè)置“訪問”權(quán)限。 </p

67、><p>  在所建虛擬目錄上右擊,在彈出菜單中選擇瀏覽,或在瀏覽器里輸入相應(yīng)網(wǎng)址,都可運(yùn)行瀏覽程序。虛擬目錄不在目錄列表中顯示(也稱為 WWW 服務(wù)的“目錄瀏覽”),要訪問虛擬目錄,用戶必須知道虛擬目錄的別名并在瀏覽器中鍵入 URL。對于 WWW 服務(wù),也可以在 HTML 頁面中創(chuàng)建鏈接。發(fā)布網(wǎng)站的時(shí)候,把程序首頁的名字(index.aspx或default.aspx)寫在IIS當(dāng)中就可以訪問了。</p>

68、;<p>  5.5 系統(tǒng)部分重要功能及其代碼</p><p>  5.5.1 Web用戶控件</p><p>  該系統(tǒng)中創(chuàng)建了兩個(gè)Web用戶控件top.ascx和bottom.ascx,在首頁、新聞詳細(xì)內(nèi)容查看、新聞分類等頁面的HTML代碼里都進(jìn)行了引用,調(diào)用方式為:</p><p>  <%@ Register TagPrefix=&quo

69、t;uc1" TagName="bottom" Src="bottom.ascx" %></p><p>  <%@ Register TagPrefix="uc1" TagName="top" Src="top.ascx" %></p><p>  @ Reg

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

71、;/uc1:top></p><p>  <uc1:bottom id="Bottom1" runat="server"></uc1:bottom></p><p>  其中top.ascx用戶控件作用是顯示首頁圖片、“首頁”文本字體、新聞分類、新聞風(fēng)格和當(dāng)前日期,bottom.ascx用戶控件作用是顯示底部相關(guān)網(wǎng)站信息

72、等。</p><p>  用戶控件是非常易于代碼重用的,可以把許多相關(guān)功能和用戶界面封裝在一個(gè)用戶控件中,然后在任何需要該功能的地方重用此控件。</p><p>  5.5.2 通用類代碼</p><p>  在所有相關(guān)頁面顯示文件和Web用戶控件的代碼隱藏文件.aspx.cs或.ascx.cs中,通過對數(shù)據(jù)訪問類的引用(以創(chuàng)建類實(shí)例方式),調(diào)用數(shù)據(jù)訪問類里的相應(yīng)函

73、數(shù)完成相關(guān)功能,如建立數(shù)據(jù)庫連接、打開和關(guān)閉數(shù)據(jù)庫、對數(shù)據(jù)庫執(zhí)行查詢、插入、刪除和更新操作、頁面登陸檢驗(yàn)等。</p><p>  此處列舉Conn類(數(shù)據(jù)訪問類)中主要函數(shù)的源碼:</p><p>  public class Conn</p><p><b>  {</b></p><p>  // 建立數(shù)據(jù)庫連接字符

74、串</p><p>  public OleDbConnection Lb_Conn=new OleDbConnection(strConn);</p><p>  public static string strConn //通過創(chuàng)建一個(gè)屬性來連接數(shù)據(jù)庫</p><p><b>  {</b></p><p>  

75、get //使用get方法返回此屬性的值</p><p><b>  {</b></p><p>  StringBuilder strResult = new StringBuilder();</p><p>  strResult.Append("Provider = Microsoft.Jet.OLEDB.4.0"

76、;);</p><p>  strResult.Append("; ");</p><p>  strResult.Append("Data Source = ");</p><p>  strResult.Append(HttpContext.Current.Server.MapPath("."));&l

77、t;/p><p>  //HttpContext應(yīng)用程序上下文類,Current屬性表示進(jìn)程中當(dāng)前請</p><p>  //求的上下文,MapPath()方法表示返回與Web服務(wù)器上的指定虛</p><p>  //擬路徑相對應(yīng)的物理文件路徑,此處作用是創(chuàng)建數(shù)據(jù)庫文件的虛擬路徑 </p><p>  strResult.Append(&

78、quot;\\");</p><p>  strResult.Append(ConfigurationSettings.AppSettings["MdbPath"]);</p><p>  //從配置文件中取到數(shù)據(jù)庫連接字符串,“MdbPath”為Web.config</p><p>  //文件中的鍵/值對所設(shè)置的key值</p

79、><p>  return strResult.ToString(); //返回字符串類型</p><p><b>  }</b></p><p><b>  } </b></p><p>  public OleDbDataReader ExecuteOleDbDataReader(string s

80、trSql)</p><p>  { //此函數(shù)表示從數(shù)據(jù)庫讀取數(shù)據(jù)時(shí)以只進(jìn)只讀的行流的方式進(jìn)行</p><p>  OleDbCommand cmd=new OleDbCommand(strSql,Lb_Conn);</p><p>  OleDbDataReader rd=cmd.ExecuteReader();</p><p> 

81、 //通過調(diào)用對象OleDbCommand的ExecuteReader()方法創(chuàng)建//OleDbDataReader對象</p><p>  return rd;</p><p><b>  }</b></p><p>  public DataSet CreateDataSet(string strSql,string tableName)&

82、lt;/p><p><b>  {</b></p><p>  OleDbDataAdapter da=new OleDbDataAdapter(strSql,Lb_Conn);</p><p>  //創(chuàng)建DataAdapter類實(shí)例,可用于填充DataSet對象和檢索、更新數(shù)據(jù)</p><p>  DataSet dst

83、=new DataSet();</p><p>  da.Fill(dst,tableName);</p><p>  //填充DataSet(數(shù)據(jù)集)中的一個(gè)表</p><p>  return dst;</p><p><b>  }</b></p><p>  public int Exec

84、uteSql(string strSql) </p><p><b>  {</b></p><p>  OleDbCommand cmd2=new OleDbCommand(strSql,Lb_Conn);</p><p>  intresult=cmd2.ExecuteNonQuery();</p><p>  

85、//對數(shù)據(jù)庫執(zhí)行插入、刪除和更新等操作,返回影響數(shù)據(jù)庫記錄的行數(shù)</p><p>  return result;</p><p><b>  }</b></p><p><b>  }</b></p><p>  '數(shù)據(jù)起始位置:2個(gè)CRLF開始 </p><p>

86、  DataStart = InStrB(PosOpenBoundary,FormData,str2bin(VbCrLf & VbCrLf)) + 4 </p><p>  If FormFileName 〈〉 "" Then </p><p>  '數(shù)據(jù)長度,減1是因?yàn)閿?shù)據(jù)文件的存取字節(jié)數(shù)問題(可能是AppendChunk方法的問題): </p&

87、gt;<p>  '由于字節(jié)數(shù)為奇數(shù)的圖象存到數(shù)據(jù)庫時(shí)會(huì)去掉最后一個(gè)字符導(dǎo)致圖象不能正確顯示, </p><p>  '字節(jié)數(shù)為偶數(shù)的數(shù)據(jù)文件就不會(huì)出現(xiàn)這個(gè)問題,因此必須保持字節(jié)數(shù)為偶數(shù)。 </p><p>  DataSize = InStrB(DataStart,FormData,DivStr) - DataStart - 1 </p>&l

88、t;p>  FormFieldData = MidB(FormData,DataStart,DataSize) </p><p><b>  Else </b></p><p>  '數(shù)據(jù)長度,減2是因?yàn)榉指魳?biāo)志串前有一個(gè)CRLF </p><p>  DataSize = InStrB(DataStart,FormData,Di

89、vStr) - DataStart - 2 </p><p>  FormFieldData = bin2str(MidB(FormData,DataStart,DataSize)) </p><p><b>  End If </b></p><p>  '建立一個(gè)Dictionary集存儲Form中各個(gè)Field的相關(guān)數(shù)據(jù) <

90、/p><p>  Set Field = CreateUploadField() </p><p>  Field.Name = FormFieldName </p><p>  Field.FilePath = FormFileName </p><p>  Field.FileName = GetFileName(FormFileName)

91、</p><p>  Field.ContentType = FormFileCT </p><p>  Field.Length = LenB(FormFieldData) </p><p>  Field.Value = FormFieldData </p><p>  Fields.Add FormFieldName, Field &l

92、t;/p><p>  PosOpenBoundary = PosCloseBoundary </p><p>  PosCloseBoundary = InStrB(PosOpenBoundary + 1,FormData,DivStr) </p><p><b>  Wend </b></p><p>  Set GetU

93、pload = Fields </p><p>  End Function </p><p>  '把二進(jìn)制字符串轉(zhuǎn)換成普通字符串函數(shù) </p><p>  Function bin2str(binstr) </p><p>  Dim varlen,clow,ccc,skipflag </p><p>  

94、'中文字符Skip標(biāo)志 </p><p>  skipflag=0 </p><p><b>  ccc = "" </b></p><p>  If Not IsNull(binstr) Then </p><p>  varlen=LenB(binstr) </p><

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

96、;  '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 </p><p><b>  Else </b></p>&

97、lt;p>  ccc = ccc & Chr(AscB(clow)) </p><p><b>  End If </b></p><p><b>  Else </b></p><p>  skipflag=0 </p><p><b>  End If </b>

98、;</p><p><b>  Next </b></p><p><b>  End If </b></p><p>  bin2str = ccc </p><p>  End Function </p><p>  '把普通字符串轉(zhuǎn)成二進(jìn)制字符串函數(shù) </

99、p><p>  Function str2bin(varstr) </p><p>  str2bin="" </p><p>  For i=1 To Len(varstr) </p><p>  varchar=mid(varstr,i,1) </p><p>  varasc = Asc(varc

100、har) </p><p>  ' asc對中文字符求出來的值可能為負(fù)數(shù), </p><p>  ' 加上65536就可求出它的無符號數(shù)值 </p><p>  ' -1在機(jī)器內(nèi)是用補(bǔ)碼表示的0xffff, </p><p>  ' 其無符號值為65535,65535=-1+65536 </p>

101、<p>  ' 其他負(fù)數(shù)依次類推。 </p><p>  If varasc〈0 Then </p><p>  varasc = varasc + 65535 </p><p><b>  End If </b></p><p>  '對中文的處理:把雙字節(jié)低位和高位分開 </p>

102、<p>  If varasc〉255 Then </p><p>  varlow = Left(Hex(Asc(varchar)),2) </p><p>  varhigh = right(Hex(Asc(varchar)),2) </p><p>  str2bin = str2bin & chrB("&H"

103、 & varlow) & chrB("&H" & varhigh) </p><p><b>  Else </b></p><p>  str2bin = str2bin & chrB(AscB(varchar)) </p><p><b>  End If </b&

104、gt;</p><p><b>  Next </b></p><p>  End Function </p><p>  '取得文件名(去掉Path) </p><p>  Function GetFileName(FullPath) </p><p>  If FullPath 〈〉

105、"" Then </p><p>  FullPath = StrReverse(FullPath) </p><p>  FullPath = Left(FullPath, InStr(1, FullPath, "\") - 1) </p><p>  GetFileName = StrReverse(FullPath) &

106、lt;/p><p><b>  Else </b></p><p>  GetFileName = "" </p><p><b>  End If </b></p><p>  End Function </p><p>  〈/SCRIPT〉 </p

107、><p>  〈SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT〉 </p><p>  function CreateUploadField(){ return new uf_Init() } </p><p>  function uf_Init(){ </p><p>  this.Name = null </

108、p><p>  this.FileName = null </p><p>  this.FilePath = null </p><p>  this.ContentType = null </p><p>  this.Value = null </p><p>  this.Length = null </p&

109、gt;<p><b>  } </b></p><p><b>  〈/SCRIPT〉</b></p><p><b>  //新聞添加</b></p><p>  〈!--#include file="news_session.asp"--〉</p>

110、<p><b>  〈html〉</b></p><p><b>  〈head〉 </b></p><p>  〈meta http-equiv="Content-Language" content="zh-cn"〉</p><p>  〈meta http-equiv=

111、"Content-Type" content="text/html; charset=gb2312"〉</p><p>  〈style type="text/css"〉</p><p>  .buttonface {</p><p>  BACKGROUND-COLOR: #0079F2; BORDER-

112、BOTTOM: #333333 1px outset; BORDER-LEFT: #333333 1px outset; BORDER-RIGHT: #ffffff 1px outset; BORDER-TOP: #ffffff 1px outset; COLOR: #ffffff; FONT-SIZE: 9pta { color: #000000; text-decoration: none}</p><p>

113、<b>  〈/style〉</b></p><p>  〈SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript〉 </p><p><b>  〈!-- </b></p><p>  function client_onblur(ii) { </p><

114、;p>  server=eval("form1.server"+ii) </p><p>  if(server.value==""){ </p><p>  client=eval("form1.client"+ii) </p><p>  clientvalue=client.value+&quo

115、t;" </p><p>  varlen=clientvalue.length </p><p>  a=clientvalue.lastIndexOf('\\') </p><p>  clientvalue=clientvalue.substring(a+1)</p><p>  //alert(clientv

116、alue); </p><p>  server.value=clientvalue </p><p><b>  } </b></p><p><b>  } </b></p><p>  function form1_onsubmit() { </p><p>  for

117、(i=1;i〈1;i++){ </p><p>  client=eval("form1.client"+i) </p><p>  server=eval("form1.server"+i) </p><p>  if(client.value!="" && server.value==&

118、quot;"){alert("上傳后的文件名不能空!");server.focus();return false} </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  //--〉 </b></p>

119、<p><b>  〈/SCRIPT〉</b></p><p>  〈title〉新聞發(fā)布系統(tǒng)〈/title〉</p><p><b>  〈/head〉</b></p><p>  〈body bgcolor=#EDF0F5 topmargin=10 marginheight=5 leftmargin=4 m

120、arginwidth=0〉</p><p>  〈form method="POST" action="news_input.asp" name="form1" enctype="multipart/form-data" LANGUAGE=javascript onsubmit="return form1_onsubmit(

121、)"〉</p><p>  〈div align="left"〉</p><p>  〈table border="1" width="754" height="404"〉</p><p>  〈tr align="center"〉 </p>

122、<p>  〈td width="754" height="28" colspan="3" style="font-size:11pt"〉〈strong〉新聞發(fā)布系統(tǒng)后臺管理--新聞添加〈/strong〉〈/td〉</p><p><b>  〈/tr〉</b></p><p>

123、<b>  〈tr〉</b></p><p>  〈td width="121" height="16" align="center" style="font-size:9pt"〉新聞標(biāo)題〈/td〉</p><p>  〈td width="617" height=&q

溫馨提示

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

最新文檔

評論

0/150

提交評論