版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 引 言</b></p><p> ASP.NET是微軟公司最新推出的一種統(tǒng)一Web開發(fā)平臺(tái),與最新的數(shù)據(jù)訪問技術(shù)ADO.NET一起可構(gòu)建出強(qiáng)大、安全和可靠的企業(yè)級(jí)Web應(yīng)用程序。ASP.NET的語(yǔ)法在很大程度上與ASP兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序。</p><p> 采取了ASP.
2、NET技術(shù)的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: </p><p> ● 由于ASP頁(yè)面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁(yè)面在反復(fù)打開時(shí)速度沒有任何提升,而ASP.NET頁(yè)面只需要一次編譯后不需要重新編譯,直到該頁(yè)面被修改或Web應(yīng)用程序重新啟動(dòng)。這使得在多次訪問時(shí)速度有了極大的提升;</p><p> ● 由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用
3、ASP撰寫數(shù)據(jù)庫(kù)頁(yè)面時(shí)只能借助ADO的RecordSet對(duì)象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫(kù)元件可以直接和數(shù)據(jù)庫(kù)聯(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)換到新的版本;<
4、;/p><p> ●ASP.NET采取"CodeBehind(代碼分離)技術(shù)"方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)開發(fā)與維護(hù)的復(fù)雜度和費(fèi)用。</p><p> 因?yàn)锳SP.NET是基于通用語(yǔ)言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺(tái)上通用語(yǔ)言的基本庫(kù),消息機(jī)制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.n
5、et的Web應(yīng)用中。ASP.net同時(shí)也是language-independent語(yǔ)言獨(dú)立化的,所以,你可以選擇一種最適合你的語(yǔ)言來編寫你的程序,或者把你的程序用很多種語(yǔ)言來寫,現(xiàn)在已經(jīng)支持的有C#,VB,Jscript。將來,這樣的多種程序語(yǔ)言協(xié)同工作的能力保護(hù)您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.net。</p><p><b> 第一章 研究背景</b></p
6、><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é)合,通過應(yīng)用程序來處理新聞,這是目前較為流行的做法。但是由于ASP技術(shù)本身的局限性使得系統(tǒng)有一些不可克服的缺陷。</p>&
7、lt;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)單的開發(fā)操作,分離程序代碼和網(wǎng)頁(yè)內(nèi)容;</p><p> ● 提高了執(zhí)行效率
8、;</p><p> ● 簡(jiǎn)化部署與組態(tài)的操作;</p><p> ● 支持客戶端類型;</p><p> ● 支持下一代的Web服務(wù);</p><p><b> ● 增進(jìn)適用性;</b></p><p><b> ● 增進(jìn)延展性;</b></p>&
9、lt;p> ● 更多的支持工具;</p><p> ● 更佳的安全機(jī)制;</p><p> ● 會(huì)話(Session)可以跨進(jìn)程、跨機(jī)器。</p><p> ASP.NET是把基于通用語(yǔ)言的程序在服務(wù)器上運(yùn)行。不像以前的ASP即時(shí)解釋程序,而是將程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,這樣的執(zhí)行效果,當(dāng)然比一條一條的解釋強(qiáng)很多。ASP.NET使運(yùn)行一些很平常
10、的任務(wù)如表單的提交客戶端的身份驗(yàn)證、分布系統(tǒng)和網(wǎng)站配置變得非常簡(jiǎn)單。</p><p> 由于ASP.NET的眾多優(yōu)點(diǎn),技術(shù)發(fā)展和各種客觀實(shí)際的需要,該系統(tǒng)選用了ASP.NET來開發(fā)設(shè)計(jì),實(shí)現(xiàn)了對(duì)校園新聞的動(dòng)態(tài)管理操作,使得對(duì)新聞信息的發(fā)布與管理更加及時(shí)、高效,提高了工作效率。</p><p> 1. 2 研究目的、意義和范圍</p><p> Interner
11、的蓬勃發(fā)展,使新聞傳播方式發(fā)生了巨大的變化,傳統(tǒng)的信息傳播媒體電視、廣播、報(bào)紙已經(jīng)不再是人們茶余飯后的主要精神甜點(diǎn),人們開始更多的關(guān)注網(wǎng)絡(luò)新聞。由于互聯(lián)網(wǎng)所容納的信息量大,內(nèi)容豐富,信息及時(shí)、準(zhǔn)確,更有相關(guān)信息的全面介紹與比較,大大的方便了人們的閱讀,因此在短短幾年里,互聯(lián)網(wǎng)便躋身于眾多媒體之中,并具有相當(dāng)一部分媒體人群。借此東風(fēng)新聞網(wǎng)也迅速發(fā)展起來,它內(nèi)容豐富,涉及商業(yè)、工業(yè)、農(nóng)業(yè)、銀行、財(cái)政、教育、娛樂、和信息等各個(gè)產(chǎn)業(yè),信息量大,
12、不僅有時(shí)事新聞,還有相關(guān)的行業(yè)信息,同時(shí)新聞呢網(wǎng)具有互聯(lián)網(wǎng)所具備的一起特征。</p><p> 其次,隨著Internet的普及,越來越多的企業(yè)建立了自己的WWW網(wǎng)站,企業(yè)通過網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動(dòng)態(tài)信息,與用戶進(jìn)行交流和溝通,與合作伙伴建立聯(lián)系,以及開展電子商務(wù)等。</p><p> 其中新聞管理系統(tǒng)是構(gòu)成企業(yè)網(wǎng)站的一個(gè)重要組成部分,它擔(dān)負(fù)著雙層作用:</p>&
13、lt;p> 一方面可以用來動(dòng)態(tài)發(fā)布有關(guān)新產(chǎn)品或新開發(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ù)開發(fā), 實(shí)現(xiàn)了網(wǎng)站新聞的動(dòng)態(tài)管理,使得對(duì)信息的管理更加及時(shí)、高效,提高了工作效率。該新聞系統(tǒng)具有一般新聞
14、系統(tǒng)的功能,主要包括前臺(tái)新聞查看區(qū)和后臺(tái)管理區(qū),可為學(xué)校各部門發(fā)布新聞,為校園網(wǎng)站提供新聞發(fā)布與管理的服務(wù)。</p><p> 該系統(tǒng)是基于B/S(Browser/Server,瀏覽器/客戶端)模式實(shí)現(xiàn),基于.NET平臺(tái)架構(gòu)開發(fā)設(shè)計(jì),主要實(shí)現(xiàn)對(duì)校園新聞的發(fā)布與管理功能,對(duì)新聞內(nèi)容信息的瀏覽閱讀等。 隨著Internet/Intranet技術(shù)的興起,將原本在單機(jī)或本地局域網(wǎng)上運(yùn)行的數(shù)據(jù)庫(kù)系統(tǒng)移植到因特網(wǎng)中
15、,即開發(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ì)開發(fā)。</p><p><b> 第二章 課題分析</b></p><p><b> 2.1 需求分析</
16、b></p><p> 該系統(tǒng)的用戶為校園網(wǎng)站,需要經(jīng)常發(fā)布一些新聞,如何能有效地管理和發(fā)布新聞呢?最初用戶的需求為:“該新聞系統(tǒng)具有一般新聞系統(tǒng)的功能,同時(shí)具有新聞審核和不同管理員不同管理權(quán)限的功能” 。</p><p> 通過對(duì)其它一些新聞系統(tǒng)的調(diào)查發(fā)現(xiàn),一般新聞系統(tǒng)功能如下:</p><p> 前臺(tái)按分類顯示新聞;</p><p
17、><b> 搜索新聞;</b></p><p><b> 后臺(tái)管理:</b></p><p> ● 添加、刪除和修改新聞</p><p> ● 添加、刪除和修改用戶</p><p> ● 添加、刪除和修改新聞分類</p><p><b> ● 添加
18、新聞</b></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è)超級(jí)管理員,具有所有權(quán)限,能夠?qū)ο到y(tǒng)進(jìn)行全面管理,同時(shí)管理員可以修改自己的一些信息。
19、</p><p> 根據(jù)校園網(wǎng)站新聞發(fā)布管理的實(shí)際需求,在首頁(yè)中能顯示最熱門新聞、頭條新聞和最近發(fā)布的幾條新聞等,同時(shí)在后臺(tái)發(fā)布新聞時(shí)可以添加圖片,也可以添加HTML語(yǔ)法,在前臺(tái)能自動(dòng)根據(jù)所顯示的圖片和HTML語(yǔ)法來顯示新聞。</p><p> 在后臺(tái)管理中,因?yàn)橛袡?quán)限的管理員才能登錄管理后臺(tái),所以需要有個(gè)登錄驗(yàn)證模塊,而且需要根據(jù)用戶權(quán)限的不同顯示不同的管理目錄,在管理新聞和用戶時(shí),
20、當(dāng)數(shù)據(jù)少時(shí)管理起來還比較方便,如果一多則想找到某條新聞或某個(gè)用戶就很難,所以需要有個(gè)查找(新聞標(biāo)題、用戶)模塊用于查找新聞或用戶。</p><p> 根據(jù)以上需求分析,該系統(tǒng)要實(shí)現(xiàn)的主要功能為:</p><p><b> 前臺(tái)顯示新聞部分</b></p><p><b> ● 用戶登錄區(qū)</b></p>
21、<p> ● 顯示最熱門的前幾條新聞</p><p> ● 顯示推薦的前幾條新聞</p><p> ● 顯示最新的前幾條新聞</p><p><b> ● 搜索新聞功能</b></p><p> ● 顯示所有新聞分類(即部門)</p><p> ● 按分類/部門顯示其下的所
22、有新聞</p><p> ● 新聞詳細(xì)信息瀏覽閱讀</p><p> ● 圖片新聞(自動(dòng)生成縮略圖)</p><p> ● 網(wǎng)站友情鏈接(可在管理中添加設(shè)置)</p><p> ● 網(wǎng)站公告可顯示發(fā)布了新聞沒通過審核的相關(guān)通知后臺(tái)管理部分</p><p><b> ● 登錄驗(yàn)證</b>&
23、lt;/p><p> ● 根據(jù)權(quán)限顯示相應(yīng)的管理目錄</p><p> ● 添加、修改和刪除新聞</p><p><b> ● 管理發(fā)布新聞</b></p><p><b> ● 管理審核新聞</b></p><p><b> ● 分類管理</b>
24、</p><p><b> ● 用戶管理</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)單、界面友好: 完全控件式的頁(yè)面布局,使得新聞的錄入工作更簡(jiǎn)便,許
25、多選項(xiàng)包括新聞分類、來源部門等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時(shí)清楚自己的操作情況。對(duì)常見網(wǎng)站的新聞管理的各個(gè)方面:新聞錄入、瀏覽、刪除、修改、搜索等方面都大體實(shí)現(xiàn),實(shí)現(xiàn)了網(wǎng)站對(duì)即時(shí)新聞的管理要求;</p><p> 服務(wù)個(gè)性化系統(tǒng)針對(duì)不同級(jí)別和不同工作的客戶可提供非常個(gè)性化的界面內(nèi)容和界面形式,以滿足客戶的個(gè)性化需求。如管理員登錄系統(tǒng)之后,可以只看到系統(tǒng)所有的內(nèi)容。對(duì)于有些不必要的
26、細(xì)節(jié),系統(tǒng)會(huì)自動(dòng)進(jìn)行屏蔽。</p><p> 即時(shí)可見,對(duì)新聞的處理(包括錄入、修改、刪除)將立即在主頁(yè)的對(duì)應(yīng)欄目顯示出來,達(dá)到“即時(shí)發(fā)布、即時(shí)見效”的功能。</p><p> 系統(tǒng)運(yùn)行應(yīng)該快速、穩(wěn)定、高效和可靠;</p><p> 在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性和可維護(hù)性,便于將來的功能擴(kuò)展和維護(hù)。</p><p> 2.3 運(yùn)行環(huán)境
27、要求</p><p><b> 2.3.1設(shè)備</b></p><p><b> 客戶機(jī)硬件要求</b></p><p> 具有 Pentium III 處理器以上且滿足以下要求計(jì)算機(jī);</p><p> 最低 64 MB 內(nèi)存,最小 2.1 GB 硬盤。</p><p&
28、gt;<b> 服務(wù)器硬件要求</b></p><p> 具有 Pentium III 處理器以上且滿足以下要求計(jì)算機(jī);</p><p> 最低 256MB 內(nèi)存,最小 8 GB 硬盤。</p><p><b> 2.3.2支持程序</b></p><p><b> 客戶端<
29、;/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):Windows 2000 Server或</p><
30、p> Windows 2003 Server</p><p> 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>
31、;<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層為客戶端瀏覽器提供對(duì)應(yīng)用程序的訪問,這一層是作為解決方案文件中的 Web 項(xiàng)目實(shí)現(xiàn)的。Web 層由 ASP.NET Web 窗體和代碼隱藏文件組成,Web 窗體只
32、是用 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><p> 3.2
33、 新聞系統(tǒng)的功能模塊簡(jiǎn)介</p><p> 圖3-2-1系統(tǒng)的功能模塊</p><p><b> 工作流程為:</b></p><p> 打開該系統(tǒng)網(wǎng)站,普通瀏覽者能瀏覽、閱讀和搜索新聞,能進(jìn)行注冊(cè),注冊(cè)后為新聞?shì)斎雴T,登錄進(jìn)入新聞后臺(tái)管理區(qū), 只有添加新聞的權(quán)限;如登錄時(shí)為新聞審核員,其不但有添加新聞的權(quán)限,還有審核和管理新聞的權(quán)限;如
34、為系統(tǒng)管理員,其有新聞后臺(tái)管理區(qū)內(nèi)的所有權(quán)限,除具有新聞審核員所有的權(quán)限外,還有添加和管理新聞分類、添加和管理用戶、系統(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)整,類似Word的一些簡(jiǎn)單的編輯功能,還可設(shè)置超鏈接和插入表格等。如添加
35、新聞?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)修改,也可刪除任何一條不再需要保留的新聞。管理新聞分類包括對(duì)新聞分類名稱作修改,也可將任一分類名刪除,刪除后其分類下的所有新聞也將被刪除。添加用戶時(shí),用戶等級(jí)可為管理員、審核員或者輸入員之一,管理用戶包
36、括修改用戶名、密碼和用戶等級(jí),也可將任一用戶刪除。</p><p> 系統(tǒng)設(shè)置包括設(shè)置網(wǎng)站標(biāo)題、網(wǎng)站地址、首頁(yè)圖片、網(wǎng)站公告(可用來顯示當(dāng)前有哪些新聞?shì)斎雴T所添加的新聞沒有通過審核,具體的原因理由等)、網(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)格。友情鏈接主
37、要是以圖片的形式鏈接到其它網(wǎng)站,作用跟系統(tǒng)設(shè)置里的網(wǎng)站鏈接功能一樣。</p><p> 第四章 使用技術(shù)的介紹</p><p> 4.1 .NET Framework概述</p><p> .NET Framework 是用于 .NET 平臺(tái)的編程模型,其關(guān)鍵組件是公共語(yǔ)言運(yùn)行庫(kù)(CLR,Common Language Runtime)和 .NET Fram
38、ework 類庫(kù)(包括 ADO.NET、ASP.NET 和 Windows 窗體),它提供了托管執(zhí)行環(huán)境、簡(jiǎn)化的開發(fā)和部署以及與各種編程語(yǔ)言的集成,是支持生成和運(yùn)行下一代應(yīng)用程序和 XML Web services 的內(nèi)部 Windows 組件。</p><p> .NET Framework 旨在實(shí)現(xiàn)下列目標(biāo):</p><p> 提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對(duì)象代碼是在本
39、地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠(yuǎn)程執(zhí)行的;</p><p> 提供一個(gè)將軟件部署版本控制沖突最小化的代碼執(zhí)行環(huán)境;</p><p> 提供一個(gè)可提高代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)境;</p><p> 提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境;使開發(fā)人員的經(jīng)驗(yàn)在面
40、對(duì)類型大不相同的應(yīng)用程序(如基于 Windows 的應(yīng)用程序和基于 Web 的應(yīng)用程序)時(shí)保持一致;</p><p> 按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確?;?.NET Framework 的代碼可與任何其他代碼集成。</p><p> 公共語(yǔ)言運(yùn)行庫(kù)是 .NET Framework 的基礎(chǔ),可以將運(yùn)行庫(kù)看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,它提供內(nèi)存管理、線程管理和遠(yuǎn)程處理等核心服務(wù),并且還
41、強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫(kù)的基本原則。以運(yùn)行庫(kù)為目標(biāo)的代碼稱為托管代碼,而不以運(yùn)行庫(kù)為目標(biāo)的代碼稱為非托管代碼。</p><p> .NET Framework 類庫(kù)是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙愋图希梢允褂盟_發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應(yīng)用程序,也包括基于 ASP.NET 所提供的最新
42、創(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)模型如圖</p><p><b> 4-2-1所示:</b></p><p> 圖
43、4-2-1 ASP.NET的結(jié)構(gòu)模型</p><p> ● UI層負(fù)責(zé)與用戶交互,接收用戶的輸入并將服務(wù)器端傳來的數(shù)據(jù)呈現(xiàn)給客戶;</p><p> ● 業(yè)務(wù)邏輯層負(fù)責(zé)接收瀏覽器傳來的請(qǐng)求并將請(qǐng)求傳給數(shù)據(jù)層,同時(shí)將請(qǐng)求處理結(jié)果發(fā)給瀏覽器。它由Web表單、XML Web Services和組件服務(wù)組成,其中Web表單是ASP.NET應(yīng)用程序的核心所在,它是向客戶呈現(xiàn)數(shù)據(jù)和信息的基礎(chǔ),也
44、是響應(yīng)和處理客戶與顯示的Web表單交互生成的信息和數(shù)據(jù)的基礎(chǔ);</p><p> ● 數(shù)據(jù)層是通過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公開的數(shù)據(jù)源的一致性訪問,數(shù)據(jù)共享用戶應(yīng)用程序可以使用ADO.NET來連接到這些數(shù)據(jù)源,并檢索、操作和
45、更新數(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)圖示</p><p>
46、DataSet對(duì)象是 ADO.NET 的斷開式結(jié)構(gòu)的核心組件,實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問。Connection 對(duì)象提供與數(shù)據(jù)源的連接,是操作數(shù)據(jù)庫(kù)的基礎(chǔ),表示應(yīng)用程序和數(shù)據(jù)源之間的惟一會(huì)話。Command 對(duì)象能夠訪問用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲(chǔ)過程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令,實(shí)現(xiàn)對(duì)數(shù)據(jù)源的操作,如查詢、插入、修改和刪除等。DataReader 對(duì)象從數(shù)據(jù)源中讀取只進(jìn)且只讀的數(shù)據(jù)流。DataAdapter 對(duì)象是Dat
47、aSet 對(duì)象和數(shù)據(jù)源之間關(guān)聯(lián)的橋梁,用數(shù)據(jù)源填充DataSet并解析更新。設(shè)計(jì) ADO.NET 組件的目的是為了從“數(shù)據(jù)操作”中分解出“數(shù)據(jù)訪問”。</p><p> C#語(yǔ)言是.NET中一種嶄新的語(yǔ)言,C#是由C和C++派生而來的一種“簡(jiǎn)單、流行、面向?qū)ο蟆㈩愋桶踩钡某绦蛟O(shè)計(jì)語(yǔ)言,C#意在綜合Visual Basic的高效率和C++的強(qiáng)大功能。</p><p> C#是微軟公司發(fā)
48、布的一種面向?qū)ο蟮摹⑦\(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺(tái)亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語(yǔ)法和編譯成中間代碼再運(yùn)行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NET w
49、indows網(wǎng)絡(luò)框架的主角。</p><p> 第五章 新聞系統(tǒng)的主要開發(fā)過程</p><p><b> 5.1 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中非常重要的一個(gè)關(guān)鍵環(huán)節(jié),因?yàn)閿?shù)據(jù)庫(kù)設(shè)計(jì)就像在建設(shè)高樓大廈一樣,有穩(wěn)固的基礎(chǔ),才能有優(yōu)秀的成果。如果設(shè)計(jì)不好,在后面的系統(tǒng)維護(hù)、變更和功能擴(kuò)充時(shí),甚至在系統(tǒng)開發(fā)過程中,
50、將會(huì)出現(xiàn)問題,會(huì)遇到非常大的困難,大量工作將會(huì)重新進(jìn)行。</p><p> 本實(shí)例采用SQL server 2000數(shù)據(jù)庫(kù)系統(tǒng),在該系統(tǒng)中新建一個(gè)數(shù)據(jù)庫(kù),并將其命名為db_news。然后,在該數(shù)據(jù)庫(kù)創(chuàng)建三個(gè)數(shù)據(jù)表,分別為用戶信息表(tbUser)、新聞信息表(tbNews)和網(wǎng)站友情鏈接表(tbLink)。</p><p> ●tbUser(用戶信息表)</p><
51、p> 用戶信息表主要用于保存管理員的基本信息,tbUser數(shù)據(jù)表的結(jié)構(gòu)如表5-1-1所示。</p><p> 表5-1-1用戶信息表</p><p> ●tbNews(新聞信息表)</p><p> 新聞信息表主要用于保存新聞的基本信息,tbNews數(shù)據(jù)表的結(jié)構(gòu)如表5-1-2所示。</p><p> 表5-1-2新聞信息表&l
52、t;/p><p> ●tbLink(網(wǎng)站友情鏈接表)</p><p> 網(wǎng)站友情鏈接表主要用于保存其他網(wǎng)站信息,該數(shù)據(jù)表的結(jié)構(gòu)如表5-1-3所示。</p><p> 表5-1-3網(wǎng)站友情鏈接表</p><p> 5.2各主要窗體頁(yè)的圖形界面介紹</p><p> 首頁(yè):主要功能是顯示最熱門、最新和推薦的前8條新聞
53、,顯示新聞搜索功能、頁(yè)面風(fēng)格設(shè)置、新聞分類、滾動(dòng)新聞圖片和網(wǎng)站公告等;如圖5-2-1所示:</p><p><b> 如圖5-2-1</b></p><p> 新聞詳細(xì)內(nèi)容查看頁(yè):在首頁(yè)里點(diǎn)擊新聞標(biāo)題所進(jìn)入的頁(yè)面,顯示當(dāng)前所點(diǎn)擊新聞的詳細(xì)內(nèi)容,新聞標(biāo)題正中加粗顯示,在添加新聞時(shí),根據(jù)所編輯的新聞內(nèi)容對(duì)應(yīng)顯示;如圖5-2-2</p><p>
54、<b> 如圖5-2-2</b></p><p> 新聞?shì)斎雴T頁(yè)面:新聞?shì)斎雴T只具有添加新聞的權(quán)限,任何瀏覽者都可注冊(cè)成為新聞?shì)斎雴T,但所添加的新聞并不能直接發(fā)布到網(wǎng)站上顯示,而需經(jīng)過審核員或管理員審核是否給予通過,這保證了網(wǎng)站內(nèi)容管理的合理性,并不是隨便添加的新聞都能發(fā)布;如圖5-2-3</p><p><b> 如圖5-2-3</b>&
55、lt;/p><p> 新聞管理員頁(yè)面:管理員具有系統(tǒng)的所有權(quán)限,除審核員的審核新聞、添加新聞和管理新聞外,還可添加新聞部門和用戶。對(duì)用戶和新聞部門進(jìn)行管理,包括修改用戶ID和密碼,刪除用戶,更改部門名稱,刪除新聞部門,管理員所添加的新聞也不再需要審核而可以直接發(fā)布。如圖:5-2-4</p><p><b> 如圖:5-2-4</b></p><p&
56、gt; 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)格樣式)表中,各窗體通過調(diào)用style.css文件來設(shè)計(jì)界面外觀。</p><p> CSS是Cascading Style Sheets(層疊樣式表單)的簡(jiǎn)稱,簡(jiǎn)稱樣式表,它是一種設(shè)計(jì)網(wǎng)頁(yè)樣式的技術(shù)。CSS代碼的基本
57、語(yǔ)句結(jié)構(gòu)為:選擇符{屬性名:屬性值},選擇符可以是HTML中任何的標(biāo)簽或自定義標(biāo)識(shí)符,比如P、DIV、IMG甚至BODY都可以作為選擇符。</p><p> CSS在HTML文檔中有三種用法:</p><p> 一種是把CSS文檔放到<head>文檔中:</p><p> <style type=“text/css”> …… </
58、style>;</p><p> 另一種方法是采用<style=“ ”>的格式把樣式寫在任何html標(biāo)簽中的行內(nèi),這種方法比較方便靈活;</p><p> 還有一種方法是:把編輯好的CSS文檔保存成“.CSS”文件,然后在<head>中定義,定義的格式為:<head> <link href="style.css" ty
59、pe="text/css" rel="stylesheet">…… </head> ,<link>和“rel=stylesheet”指連接的元素是一個(gè)樣式表文檔,“href=‘style.css’”指的是需要連接的文件地址。這種方法非常適宜同時(shí)定義多個(gè)文檔,能使多個(gè)文檔同時(shí)使用相同的樣式,從而減少了大量的冗余代碼。</p><p><b&
60、gt; 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ì)算一組配置設(shè)置,然后緩存結(jié)果配置設(shè)置,以供所
61、有頁(yè)面對(duì)資源的請(qǐng)求使用。</p><p> Web.config文件對(duì)于訪問站點(diǎn)的用戶來說是不可見的,而且也是不可訪問的,它基于XML,每個(gè)配置文件都包含XML標(biāo)記和子標(biāo)記的嵌套層次結(jié)構(gòu)。</p><p> 新聞系統(tǒng)的Web.config文件中的配置:</p><p> <configuration></p><p> &
62、lt;appSettings></p><p> <addkey="conStr”value="Server=(local);database=db_news;Uid=sa;Pwd=;"/></p><p> </appSettings> </p><p> </configuration>
63、;</p><p><b> 說明:</b></p><p> Data Source是數(shù)據(jù)庫(kù)服務(wù)器的名稱;</p><p> Uid是鏈接數(shù)據(jù)庫(kù)用戶名;</p><p> Pwd鏈接數(shù)據(jù)庫(kù)的密碼;</p><p> Database是使用的數(shù)據(jù)庫(kù)名稱。</p><p
64、> 5.4.2 配置發(fā)布主頁(yè)</p><p> 首先要?jiǎng)?chuàng)建虛擬目錄,新建虛擬目錄的步驟如下:</p><p> ● 打開IIS(Internet 信息服務(wù)),在默認(rèn)網(wǎng)站上右擊 </p><p> 在快捷菜單中選擇新建—>虛擬目錄; </p><p> ● 在彈出的虛擬目錄創(chuàng)建向?qū)?duì)話框里點(diǎn)擊“下一步”; </p&
65、gt;<p> ● 輸入虛擬目錄別名;</p><p> ● 選擇網(wǎng)站內(nèi)容所在目錄路徑; </p><p> ● 設(shè)置“訪問”權(quán)限。 </p><p> 在所建虛擬目錄上右擊,在彈出菜單中選擇瀏覽,或在瀏覽器里輸入相應(yīng)網(wǎng)址,都可運(yùn)行瀏覽程序。虛擬目錄不在目錄列表中顯示(也稱為 WWW 服務(wù)的“目錄瀏覽”),要訪問虛擬目錄,用戶必須知道虛擬目錄的
66、別名并在瀏覽器中鍵入 URL。對(duì)于 WWW 服務(wù),也可以在 HTML 頁(yè)面中創(chuàng)建鏈接。發(fā)布網(wǎng)站的時(shí)候,把程序首頁(yè)的名字(index.aspx或default.aspx)寫在IIS當(dāng)中就可以訪問了。</p><p> 5.5 系統(tǒng)部分重要功能及其代碼</p><p> 5.5.1 Web用戶控件</p><p> 該系統(tǒng)中創(chuàng)建了兩個(gè)Web用戶控件top.ascx
67、和bottom.ascx,在首頁(yè)、新聞詳細(xì)內(nèi)容查看、新聞分類等頁(yè)面的HTML代碼里都進(jìn)行了引用,調(diào)用方式為:</p><p> <%@RegisterTagPrefix="uc1"Tag"bottom"Src="bottom.ascx"%></p><p> <%@ Register TagPrefix=&q
68、uot;uc1" TagName="top" Src="top.ascx" %></p><p> @ Register指令注冊(cè)用戶控件,同時(shí)把屬性TagName(標(biāo)簽名)和TagPrefix(標(biāo)簽前綴)添加到@ Register指令中,Src屬性表示該用戶控件相對(duì)于父頁(yè)面的相對(duì)地址。用戶控件也是服務(wù)器端控件,還必須在用戶控件代碼中添加Runat=serv
69、er屬性,用法如下:</p><p> <uc1:top id="Top1" runat="server"></uc1:top></p><p> <uc1:bottom id="Bottom1" runat="server"></uc1:bottom><
70、;/p><p> 其中top.ascx用戶控件作用是顯示首頁(yè)圖片、“首頁(yè)”文本字體、新聞分類、新聞風(fēng)格和當(dāng)前日期,bottom.ascx用戶控件作用是顯示底部相關(guān)網(wǎng)站信息等。</p><p> 用戶控件是非常易于代碼重用的,可以把許多相關(guān)功能和用戶界面封裝在一個(gè)用戶控件中,然后在任何需要該功能的地方重用此控件。</p><p> 5.5.2 通用類代碼</p
71、><p> 在所有相關(guān)頁(yè)面顯示文件和Web用戶控件的代碼隱藏文件.aspx.cs或.ascx.cs中,通過對(duì)數(shù)據(jù)訪問類的引用(以創(chuàng)建類實(shí)例方式),調(diào)用數(shù)據(jù)訪問類里的相應(yīng)函數(shù)完成相關(guān)功能,如建立數(shù)據(jù)庫(kù)連接、打開和關(guān)閉數(shù)據(jù)庫(kù)、對(duì)數(shù)據(jù)庫(kù)執(zhí)行查詢、插入、刪除和更新操作、頁(yè)面登陸檢驗(yàn)等。</p><p> 此處列舉Conn類(數(shù)據(jù)訪問類)中主要函數(shù)的源碼:</p><p>
72、 public class Conn</p><p><b> {</b></p><p> Public OleDbConnection Lb_Conn=new OleDbConnection(strConn);</p><p> public static string strConn </p><p>&l
73、t;b> {</b></p><p><b> get </b></p><p><b> {</b></p><p> StringBuilder strResult = new StringBuilder();</p><p> strResult.Append(
74、"Provider = Microsoft.Jet.OLEDB.4.0");</p><p> strResult.Append("; ");</p><p> strResult.Append("Data Source = ");</p><p> strResult.Append(HttpCont
75、ext.Current.Server.MapPath("."));</p><p> strResult.Append("\\");</p><p> strResult.Append(ConfigurationSettings.AppSettings["MdbPath"]);</p><p> re
76、turn strResult.ToString(); </p><p><b> }</b></p><p><b> } </b></p><p> public OleDbDataReader ExecuteOleDbDataReader(string strSql)</p><p>&l
77、t;b> { </b></p><p> OleDbCommand cmd=new OleDbCommand(strSql,Lb_Conn)</p><p> OleDbDataReader rd=cmd.ExecuteReader();</p><p> return rd;</p><p><b>
78、}</b></p><p> public DataSet CreateDataSet(string strSql,string tableName)</p><p><b> {</b></p><p> OleDbDataAdapter da=new OleDbDataAdapter(strSql,Lb_Conn);<
79、;/p><p> DataSet dst=new DataSet();</p><p> da.Fill(dst,tableName);</p><p> return dst;</p><p><b> }</b></p><p> public int ExecuteSql(string
80、 strSql) </p><p><b> {</b></p><p> OleDbCommand cmd2=new OleDbCommand(strSql,Lb_Conn);</p><p> intresult=cmd2.ExecuteNonQuery();</p><p> return result
81、;</p><p><b> }</b></p><p><b> }</b></p><p> '數(shù)據(jù)起始位置:2個(gè)CRLF開始 </p><p> DataStart = InStrB(PosOpenBoundary,FormData,str2bin(VbCrLf & V
82、bCrLf)) + 4 </p><p> If FormFileName 〈〉 "" Then </p><p> B(DataStart,FormData,DivStr) - DataStart - 1 </p><p> FormFieldData = MidB(FormData,DataStart,DataSize) </p&
83、gt;<p><b> Else </b></p><p> '數(shù)據(jù)長(zhǎng)度,減2是因?yàn)榉指魳?biāo)志串前有一個(gè)CRLF </p><p> DataSize = InStrB(DataStart,FormData,DivStr) - DataStart - 2 </p><p> FormFieldData = bin2s
84、tr(MidB(FormData,DataStart,DataSize)) </p><p><b> End If </b></p><p> '建立一個(gè)Dictionary集存儲(chǔ)Form中各個(gè)Field的相關(guān)數(shù)據(jù) </p><p> Set Field = CreateUploadField() </p><
85、;p> Field.Name = FormFieldName </p><p> Field.FilePath = FormFileName </p><p> Field.FileName = GetFileName(FormFileName) </p><p> Field.ContentType = FormFileCT </p>
86、<p> Field.Length = LenB(FormFieldData) </p><p> Field.Value = FormFieldData </p><p> Fields.Add FormFieldName, Field </p><p> PosOpenBoundary = PosCloseBoundary </p>
87、<p> PosCloseBoundary = InStrB(PosOpenBoundary + 1,FormData,DivStr) </p><p><b> Wend </b></p><p> Set GetUpload = Fields </p><p> End Function </p><
88、;p> '把二進(jìn)制字符串轉(zhuǎn)換成普通字符串函數(shù) </p><p> Function bin2str(binstr) </p><p> Dim varlen,clow,ccc,skipflag </p><p> '中文字符Skip標(biāo)志 </p><p> skipflag=0 </p><
89、p><b> ccc = "" </b></p><p> If Not IsNull(binstr) Then </p><p> varlen=LenB(binstr) </p><p> For i=1 To varlen </p><p> If skipflag=0 Then
90、 </p><p> clow = MidB(binstr,i,1) </p><p> '判斷是否中文的字符 </p><p> If AscB(clow) 〉 127 Then </p><p> ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow)) </p&
91、gt;<p> skipflag=1 </p><p><b> Else </b></p><p> ccc = ccc & Chr(AscB(clow)) </p><p><b> End If </b></p><p><b> Else </
92、b></p><p> skipflag=0 </p><p><b> End If </b></p><p><b> Next </b></p><p><b> End If </b></p><p> bin2str = ccc
93、 </p><p> End Function </p><p> '把普通字符串轉(zhuǎn)成二進(jìn)制字符串函數(shù) </p><p> Function str2bin(varstr) </p><p> str2bin="" </p><p> For i=1 To Len(varstr)
94、</p><p> varchar=mid(varstr,i,1) </p><p> varasc = Asc(varchar) </p><p> ' asc對(duì)中文字符求出來的值可能為負(fù)數(shù), </p><p> ' 加上65536就可求出它的無符號(hào)數(shù)值 </p><p> ' -1
95、在機(jī)器內(nèi)是用補(bǔ)碼表示的0xffff, </p><p> ' 其無符號(hào)值為65535,65535=-1+65536 </p><p> ' 其他負(fù)數(shù)依次類推。 </p><p> If varasc〈0 Then </p><p> varasc = varasc + 65535 </p><p&g
96、t;<b> End If </b></p><p> '對(duì)中文的處理:把雙字節(jié)低位和高位分開 </p><p> If varasc〉255 Then </p><p> varlow = Left(Hex(Asc(varchar)),2) </p><p> varhigh = right(Hex(
97、Asc(varchar)),2) </p><p> str2bin = str2bin & chrB("&H" & varlow) & chrB("&H" & varhigh) </p><p><b> Else </b></p><p> str
98、2bin = str2bin & chrB(AscB(varchar)) </p><p><b> End If </b></p><p><b> Next </b></p><p> End Function </p><p> Function GetFileName(Ful
99、lPath) </p><p> If FullPath 〈〉 "" Then </p><p> FullPath = StrReverse(FullPath) </p><p> FullPath = Left(FullPath, InStr(1, FullPath, "\") - 1) </p>&l
100、t;p> GetFileName = StrReverse(FullPath) </p><p><b> Else </b></p><p> GetFileName = "" </p><p><b> End If </b></p><p> End Fun
101、ction </p><p> 〈/SCRIPT〉 </p><p> 〈SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT〉 </p><p> function CreateUploadField(){ return new uf_Init() } </p><p> function uf_Init(){
102、</p><p> this.Name = null </p><p> this.FileName = null </p><p> this.FilePath = null </p><p> this.ContentType = null </p><p> this.Value = null <
103、/p><p> this.Length = null </p><p><b> } </b></p><p><b> 〈/SCRIPT〉</b></p><p> 〈!--#include file="news_session.asp"--〉</p><
104、;p><b> 〈html〉</b></p><p><b> 〈head〉 </b></p><p> 〈meta http-equiv="Content-Language" content="zh-cn"〉</p><p> 〈meta http-equiv=&qu
105、ot;Content-Type" content="text/html; charset=gb2312"〉</p><p> 〈style type="text/css"〉</p><p> .buttonface {</p><p> BACKGROUND-COLOR: #0079F2; BORDER-BOT
106、TOM: #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><
107、;b> 〈/style〉</b></p><p> 〈SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript〉 </p><p><b> 〈!-- </b></p><p> function client_onblur(ii) { </p><p&
108、gt; server=eval("form1.server"+ii) </p><p> if(server.value==""){ </p><p> client=eval("form1.client"+ii) </p><p> clientvalue=client.value+"&
109、quot; </p><p> varlen=clientvalue.length </p><p> a=clientvalue.lastIndexOf('\\') </p><p> clientvalue=clientvalue.substring(a+1)</p><p> //alert(clientvalu
110、e); </p><p> server.value=clientvalue </p><p><b> } </b></p><p><b> } </b></p><p> function form1_onsubmit() { </p><p> for(i=
111、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==&quo
112、t;")</p><p> {alert("上傳后的文件名不能空!");server.focus();return false} </p><p><b> } </b></p><p><b> } </b></p><p><b> 〈/SCRIP
113、T〉</b></p><p> 〈title〉新聞發(fā)布系統(tǒng)〈/title〉</p><p><b> 〈/head〉</b></p><p> 〈body bgcolor=#EDF0F5 topmargin=10 marginheight=5 leftmargin=4 marginwidth=0〉</p><
114、;p> 〈form method="POST" action="news_input.asp" name="form1" enctype="multipart/form-data" LANGUAGE=javascript onsubmit="return form1_onsubmit()"〉</p><p>
115、; 〈div align="left"〉</p><p> 〈table border="1" width="754" height="404"〉</p><p> 〈tr align="center"〉 </p><p> 〈td width="7
116、54" height="28" colspan="3" style="font-size:11pt"〉〈strong〉新聞發(fā)布系統(tǒng)后臺(tái)管理--新聞添加〈/strong〉〈/td〉</p><p><b> 〈/tr〉</b></p><p><b> 〈tr〉</b><
117、;/p><p> 〈td width="121" height="16" align="center" style="font-size:9pt"〉新聞標(biāo)題〈/td〉</p><p> 〈td width="617" height="16" colspan="2
118、"〉 </p><p> 〈input type="text" name="news_title" size="87"〉〈/td〉</p><p><b> 〈/tr〉</b></p><p><b> 〈tr〉</b></p>&l
119、t;p> 〈td width="121" height="165" align="center" style="font-size:9pt"〉新聞內(nèi)容〈/td〉</p><p> 〈td width="617" height="165" colspan="2"〉〈t
120、extarea rows="11" name="news_content" cols="85"〉〈/textarea〉〈/td〉</p><p><b> 〈/tr〉</b></p><p><b> 〈tr〉</b></p><p> 〈td width=
121、"121" height="21" align="center" style="font-size:9pt"〉新聞來源〈/td〉</p><p> 〈td width="617" height="21" colspan="2"〉</p><p>
122、〈input type="text" name="news_src" size="87"〉〈/td〉</p><p><b> 〈/tr〉</b></p><p><b> 〈tr〉</b></p><p> 〈td width="121"
123、; height="20" align="center" style="font-size:9pt" 〉圖片上傳〈/td〉</p><p> 〈td width="617" height="20" colspan="2"〉</p><p> 〈input type=&
124、quot;file" name="client1" size="20" readonly LANGUAGE=javascript onblur="return client_onblur(1)" 〉 </p><p> 〈span style="font-size:9pt"〉〈/span〉 〈INPUT type=&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- web課程設(shè)計(jì)--校內(nèi)新聞系統(tǒng)的設(shè)計(jì)與開發(fā)
- web新聞系統(tǒng)畢業(yè)論文
- web開發(fā)課程設(shè)計(jì)-新聞發(fā)布系統(tǒng)
- web高級(jí)程序課程設(shè)計(jì)---新聞發(fā)布系統(tǒng)
- java-web新聞發(fā)布系統(tǒng)課程設(shè)計(jì)
- web課程設(shè)計(jì)--課程管理系統(tǒng)
- web應(yīng)用基礎(chǔ)課程設(shè)計(jì)-----新聞管理與發(fā)布系統(tǒng)
- 畢業(yè)論文——新聞系統(tǒng)
- 新聞發(fā)布系統(tǒng)課程設(shè)計(jì)
- 新聞發(fā)布系統(tǒng)課程設(shè)計(jì)
- 新聞發(fā)布系統(tǒng)課程設(shè)計(jì)
- 新聞發(fā)布系統(tǒng)課程設(shè)計(jì)
- web課程設(shè)計(jì)(宿舍管理系統(tǒng))
- web課程設(shè)計(jì)--酒店管理系統(tǒng)
- 《web系統(tǒng)開發(fā)課程設(shè)計(jì)》
- jsp新聞發(fā)布課程設(shè)計(jì)---新聞發(fā)布系統(tǒng)
- 電子新聞系統(tǒng)的研究.pdf
- jsp課程設(shè)計(jì)-新聞發(fā)布系統(tǒng)
- 校園導(dǎo)航系統(tǒng)課程設(shè)計(jì)
- 校園導(dǎo)游系統(tǒng)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論