版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- asp.net新聞發(fā)布系統(tǒng)畢業(yè)論文
- asp.net畢業(yè)論文-稅務(wù)登記系統(tǒng)
- asp.net校園新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(源代碼+論文)
- asp.net個(gè)人賬務(wù)管理系統(tǒng)畢業(yè)論文
- 基于asp.net的網(wǎng)上購物系統(tǒng)畢業(yè)論文
- 基于asp.net的銷售管理系統(tǒng)---畢業(yè)論文
- asp.net 技術(shù)畢業(yè)論文外文翻譯
- 基于asp.net架構(gòu)的博客管理系統(tǒng)---畢業(yè)論文
- 基于asp.net教學(xué)輔助系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于asp.net個(gè)人網(wǎng)站開發(fā)(畢業(yè)論文)
- asp.net畢業(yè)論文-計(jì)算機(jī)實(shí)驗(yàn)課在線答疑系統(tǒng)
- asp.net個(gè)人博客系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于asp.net的項(xiàng)目申報(bào)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于asp.net公司網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 畢業(yè)論文_基于asp.net圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- asp.net在線畢業(yè)論文提交系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(源代碼+論文)
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 畢業(yè)論文(設(shè)計(jì))基于asp.net的xx家教網(wǎng)
- 新聞發(fā)布系統(tǒng)(畢業(yè)論文)
評論
0/150
提交評論