![ASP新聞發(fā)布系統(tǒng)分析_第1頁(yè)](http://file4.renrendoc.com/view/a00a61fe3c0de279f54d5321b4986a36/a00a61fe3c0de279f54d5321b4986a361.gif)
![ASP新聞發(fā)布系統(tǒng)分析_第2頁(yè)](http://file4.renrendoc.com/view/a00a61fe3c0de279f54d5321b4986a36/a00a61fe3c0de279f54d5321b4986a362.gif)
![ASP新聞發(fā)布系統(tǒng)分析_第3頁(yè)](http://file4.renrendoc.com/view/a00a61fe3c0de279f54d5321b4986a36/a00a61fe3c0de279f54d5321b4986a363.gif)
![ASP新聞發(fā)布系統(tǒng)分析_第4頁(yè)](http://file4.renrendoc.com/view/a00a61fe3c0de279f54d5321b4986a36/a00a61fe3c0de279f54d5321b4986a364.gif)
![ASP新聞發(fā)布系統(tǒng)分析_第5頁(yè)](http://file4.renrendoc.com/view/a00a61fe3c0de279f54d5321b4986a36/a00a61fe3c0de279f54d5321b4986a365.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
65/70存檔資料成績(jī):華東交通大學(xué)理工學(xué)院課程設(shè)計(jì)報(bào)告書(shū)所屬課程名稱ASP.NET程序設(shè)計(jì)項(xiàng)目教程題目基于ASP.NET的新聞發(fā)布系統(tǒng)分院電信分院專業(yè)班級(jí)電子商務(wù)2011-2學(xué)號(hào)20110210460228學(xué)生姓名龔云凱指導(dǎo)教師程志平2014年1月1日目錄TOC\o"1-3"\h\u3602第1章前言 115971第2章系統(tǒng)分析 2205371.1系統(tǒng)需求分析 210371.2開(kāi)發(fā)環(huán)境 230591第3章系統(tǒng)設(shè)計(jì) 4203663.1系統(tǒng)架構(gòu) 4211513.3數(shù)據(jù)庫(kù)的設(shè)計(jì) 596第3章網(wǎng)站的主要功能設(shè)計(jì) 720961.登陸界面的設(shè)計(jì) 7234832.會(huì)員注冊(cè)界面 814343.管理員登陸 10107953.1新聞的添加 11263293.2新聞的添加與刪除 12160913.3新聞的搜索 1395083.4新聞的修改 1476943.5新聞的刪除 1430533.6批量刪除 15257683.7用戶的刪除與查看 17119993.8留言的刪除與查看 18247544.普通用戶的登陸: 18124794.1新聞的瀏覽 1828734.2瀏覽新聞 19272264.3收藏夾功能 20220154.4留言功能 21148244.5顯示所有留言 2150754.6個(gè)人資料的修改 2218063第4章系統(tǒng)調(diào)試 26144794.1程序調(diào)試概述 2684244.2調(diào)試本系統(tǒng)分析 2622019第5章設(shè)計(jì)心得 2812464參考文獻(xiàn)(資料) 29前言在我國(guó),由于網(wǎng)民數(shù)目的大量增多,新聞媒介逐漸由紙質(zhì)變?yōu)榫W(wǎng)絡(luò)化信息化,新聞發(fā)布系統(tǒng)在我國(guó)雖然起步晚,但是研發(fā)和進(jìn)步速度巨大,所用技術(shù)多種多樣,逐漸同世界先進(jìn)設(shè)計(jì)接軌,常用的技術(shù)如Asp,Jsp,PHP等等,網(wǎng)絡(luò)編程發(fā)展已逐漸成為一種產(chǎn)業(yè)。相較于國(guó)內(nèi),國(guó)外的網(wǎng)絡(luò)更為發(fā)達(dá)和普及,互聯(lián)網(wǎng)全球的發(fā)展形勢(shì)是這樣的:由于帶寬的增長(zhǎng),尤其是在國(guó)外發(fā)達(dá)國(guó)家已經(jīng)實(shí)現(xiàn)了光纖到戶,日本、韓國(guó)這些國(guó)家。像美國(guó)因?yàn)樗挠芯€網(wǎng)和衛(wèi)星網(wǎng)的之間競(jìng)爭(zhēng),加上電信網(wǎng)絡(luò)運(yùn)營(yíng)商,也在大量發(fā)展固網(wǎng)的光纖業(yè)務(wù),所以互聯(lián)網(wǎng)的業(yè)務(wù)多樣化,而且非常高帶寬化,五年以前大家接觸的互聯(lián)網(wǎng),還是打開(kāi)網(wǎng)上看新聞,現(xiàn)在做的比較多的,一個(gè)是搜索,一個(gè)是互聯(lián)網(wǎng)社區(qū),比如開(kāi)心網(wǎng)、校園網(wǎng),再一個(gè)就是下載音樂(lè)、視頻、在線觀看,互聯(lián)網(wǎng)一個(gè)重要的趨勢(shì),就是高帶寬的應(yīng)用已經(jīng)成為人們主流的應(yīng)用。網(wǎng)絡(luò)的發(fā)展必定帶來(lái)信息量的增加,尤其是新聞發(fā)布系統(tǒng)更是層出不窮,應(yīng)用范圍巨大。常見(jiàn)的新聞發(fā)布管理系統(tǒng)種類有兩種:一種是靜態(tài)HTML頁(yè)面,更新信息時(shí)需要重新制作頁(yè)面然后上傳頁(yè)面并修改相應(yīng)鏈接,這種方式因?yàn)樾侍鸵巡欢嘤?;另一種是基于ASP和腳本語(yǔ)言,將動(dòng)態(tài)網(wǎng)頁(yè)和數(shù)據(jù)庫(kù)結(jié)合,通過(guò)應(yīng)用程序來(lái)處理新聞,這是目前較為流行的做法。本文研究的思路及主要成果該系統(tǒng)是基于B/S(Browser/Server,瀏覽器/客戶端)模式實(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)移植到因特網(wǎng)中,即開(kāi)發(fā)基于B/S模式的新一代MIS(ManagementInformationSystem,管理信息系統(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ā)。系統(tǒng)分析1.1系統(tǒng)需求分析隨著信息化產(chǎn)業(yè)逐漸進(jìn)入各行各業(yè),并成為經(jīng)濟(jì)的基礎(chǔ),對(duì)實(shí)行信息化必須有一個(gè)明確的方向,這也是客不容緩的事。新聞信息作為當(dāng)前信息化的重要組成部分,而新聞管理作為新聞信息中的一個(gè)重要環(huán)節(jié),必須同信息化同步,以促使整個(gè)經(jīng)濟(jì)和新聞事業(yè)的發(fā)展。本系統(tǒng)功能模塊包括:新聞管理,用戶管理,系統(tǒng)管理模塊、留言、留言的刪除與管理。數(shù)據(jù)的操作主要是:數(shù)據(jù)添加、數(shù)據(jù)修改、數(shù)據(jù)查詢?!肮芾韱T用戶”實(shí)現(xiàn)的功能如下:一、“新聞管理”是對(duì)新聞添加、新聞審核、新聞轉(zhuǎn)移、新聞管理,通過(guò)數(shù)據(jù)庫(kù)綁定控件實(shí)現(xiàn)對(duì)信息直接的增、刪、查、改。二、“留言的查看/刪除”實(shí)現(xiàn)的功能是對(duì)留言的查看和刪除。三、“用戶管理”是對(duì)后臺(tái)的用戶進(jìn)行管理,用戶賬號(hào)信息的更和添加管理員?!捌胀ㄓ脩簟彼邆涞牡墓δ埽盒侣劦臑g覽與留言。對(duì)新聞添加收藏。修改個(gè)人的資料。1.2開(kāi)發(fā)環(huán)境數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的一種技術(shù),是計(jì)算機(jī)科學(xué)的一個(gè)分支。數(shù)據(jù)庫(kù)管理系統(tǒng)已發(fā)展成為現(xiàn)代通用系統(tǒng)軟件。由于數(shù)據(jù)庫(kù)具有數(shù)據(jù)的結(jié)構(gòu)化、可控冗余度、較高的程序與數(shù)據(jù)獨(dú)立性、易于擴(kuò)充、易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫(kù)設(shè)計(jì)之上的。由于用到的數(shù)據(jù)表格多,另外考慮到實(shí)際情況,我們選用SQLServer作為數(shù)據(jù)庫(kù)開(kāi)發(fā),而沒(méi)有選擇Access,主要是因?yàn)锳ccess存放的記錄,在實(shí)際運(yùn)用中不適合此系統(tǒng);而SQLServer是一種常用的關(guān)系數(shù)據(jù)庫(kù),能存放和讀取大量的數(shù)據(jù),管理眾多并發(fā)的用戶,故選用SQLServer數(shù)據(jù)庫(kù)。用C#語(yǔ)言進(jìn)行編碼。C#編程語(yǔ)言是微軟在.NET計(jì)劃中重要的開(kāi)發(fā)語(yǔ)言,它具有語(yǔ)法簡(jiǎn)單,功能強(qiáng)大,快速應(yīng)用,語(yǔ)言自由,強(qiáng)大的Web服務(wù)器控件,支持跨平臺(tái),與XML相融合等。因此選擇C#編程語(yǔ)言。ASP.NET是ActiveServerPage.NETFramework的縮寫(xiě),意為“基于動(dòng)態(tài)WEB應(yīng)用程序的技術(shù)服務(wù)器網(wǎng)頁(yè)”。ASP.NET是微軟公司開(kāi)發(fā)的代替ASP的一種應(yīng)用,它可以與數(shù)據(jù)庫(kù)和其它程序進(jìn)行交互,是一種功能強(qiáng)大的編程工具。ASP.NET的網(wǎng)頁(yè)文件的格式是.aspx,現(xiàn)在常用于各種動(dòng)態(tài)網(wǎng)站中。ASP.NET是一服務(wù)器端腳本編寫(xiě)環(huán)境,可以用來(lái)創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁(yè)或Web應(yīng)用程序。ASP.NET網(wǎng)頁(yè)可以包含HTML標(biāo)記、普通文本、腳本命令、.css、以及COM組件等。利用ASP.NET可以向網(wǎng)頁(yè)中添加交互式內(nèi)容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁(yè)作為用戶界面的Web應(yīng)用程序。與HTML相比,ASP.NET網(wǎng)頁(yè)具有以下特點(diǎn):(1)利用ASP.NET可以實(shí)現(xiàn)突破靜態(tài)網(wǎng)頁(yè)的一些功能限制,實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)技術(shù);(2)ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測(cè)試;(3)服務(wù)器上的ASP.NET解釋程序會(huì)在服務(wù)器端制定ASP程序,并將結(jié)果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁(yè);(4)ASP.NET提供了一些內(nèi)置對(duì)象,使用這些對(duì)象可以使服務(wù)器端腳本功能更強(qiáng)。(5)ASP可以使用服務(wù)器端ActiveX組建來(lái)執(zhí)行各種各樣的任務(wù)。系統(tǒng)設(shè)計(jì)3.1系統(tǒng)架構(gòu)進(jìn)入該發(fā)布系統(tǒng)根據(jù)級(jí)別的不同分為管理員和普通的用戶,所擁有的功能如下圖所示:新聞的瀏覽新聞的瀏覽普通用戶登陸普通用戶登陸新聞的留言新聞的留言留言的查看留言的查看個(gè)人資料的修改新聞發(fā)布系統(tǒng)個(gè)人資料的修改新聞發(fā)布系統(tǒng)用戶的刪除與管理新聞的增刪查改留言的查看,刪除管理員登陸用戶的刪除與管理新聞的增刪查改留言的查看,刪除管理員登陸新聞發(fā)布管理模塊業(yè)務(wù)流程圖:3.3數(shù)據(jù)庫(kù)的設(shè)計(jì)根據(jù)所需要實(shí)現(xiàn)的功能,共設(shè)計(jì)6張數(shù)據(jù)表設(shè)計(jì)數(shù)據(jù)庫(kù)的名稱為news,共設(shè)6張表,名為admin(管理員的信息)、users(普通用戶的信息)、collection(存放用戶收藏的信息)、leave_word(存放用戶留言的信息)、news(新聞的內(nèi)容)、photos(圖片信息)。數(shù)據(jù)表的創(chuàng)建(以news表為例),設(shè)置newsid為主鍵,同時(shí)作為表user、collection、leave_word、photo四張表的輔鍵,設(shè)置的屬性如下圖所示:創(chuàng)建news表的代碼如下:CREATETABLE[dbo].[news]( [newsid][int]IDENTITY(1,1)NOTNULL, [subjects][varchar](50)NULL, [contents][varchar](1000)NULL, [sysdate][datetime]NULL, [type][int]NULL, [author][varchar](10)NULL, [seenum][int]NULL,CONSTRAINT[PK__news__76CBA758]PRIMARYKEYCLUSTERED( [newsid]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]ALTERTABLE[dbo].[news]ADDCONSTRAINT[DF__news__seenum__77BFCB91]DEFAULT(0)FOR[seenum]GO創(chuàng)建好所有的表格之后,各個(gè)變量形成以下的函數(shù)依賴關(guān)系:網(wǎng)站的主要功能設(shè)計(jì)登陸界面的設(shè)計(jì)登陸界面需要實(shí)現(xiàn)以下功能:輸入用戶名和密碼,輸入后能通過(guò)數(shù)據(jù)的調(diào)用,提示相關(guān)的錯(cuò)誤。當(dāng)輸入正確的用戶名和密碼后進(jìn)入相關(guān)頁(yè)面??梢孕掠脩舻淖?cè)??梢赃x擇用戶的級(jí)別(管理員和普通用戶)。設(shè)計(jì)完畢后,效果如如下所示:確定按鈕的代碼如下:protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { if(this.rBtnUser.Checked) { stringsql="select*fromuserswhereusername='"+this.txtUserName.Text+"'anduserpwd='"+this.txtPwd.Text+"'"; if(DB.ExecuteSqlEx(sql)==1) { Response.Write("<script>javascript:alert('驗(yàn)證失??!請(qǐng)注冊(cè)后再登錄');</script>"); } else { Session["username"]=this.txtUserName.Text; Response.Redirect("default.aspx"); } } else { stringmysql="select*fromadminwhereadminname='"+this.txtUserName.Text+"'andadminpwd='"+this.txtPwd.Text+"'"; if(DB.ExecuteSqlEx(mysql)==1) { Response.Write("<script>javascript:alert('請(qǐng)使用正確的賬戶登錄?。。?);</script>"); } else { Session["adminname"]=this.txtUserName.Text; Response.Redirect("manage.aspx"); } } }用戶注冊(cè)按鈕的代碼: protectedvoidlBtnRegister_Click(objectsender,System.EventArgse) { Response.Redirect("register.aspx"); }2.會(huì)員注冊(cè)界面點(diǎn)擊會(huì)員注冊(cè)按鈕后,跳轉(zhuǎn)入register.aspx頁(yè)面,該頁(yè)面的效果圖如下所示:點(diǎn)擊確定按鈕觸發(fā)btnConfirm_Click事件,執(zhí)行以下代碼時(shí),首先調(diào)用CheckUserName函數(shù),該函數(shù)的功能是檢測(cè)注冊(cè)的用戶名是否已存在,當(dāng)用戶填完正確的信息后會(huì)提示“恭喜!您已注冊(cè)成功,請(qǐng)登錄”,否則則提示“您使用的用戶名已存在!”代碼如下所示:protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { if(this.CheckUserName(this.txtUserName.Text)) { stringsex=""; if(this.rBtnM.Checked) { sex="男"; } else { sex="女"; } intage=0; age=Convert.ToInt32(this.txtAge.Text); stringsql="insertintousers(username,userpwd,sex,age,email)values('"+this.txtUserName.Text+"','"+this.txtPwd.Text+"','"+sex+"',"+age+",'"+this.txtEmail.Text+"')"; if(DB.ExecuteSql(sql)==0) { Response.Write("<script>javascript:alert('恭喜!您已注冊(cè)成功,請(qǐng)登錄');</script>"); } Response.Redirect("login.aspx"); } else { Response.Write("<script>javascript:alert('您使用的用戶名已存在!');</script>"); } } protectedvoidbtnCancel_Click(objectsender,System.EventArgse) { Response.Redirect("register.aspx"); } privateboolCheckUserName(stringusername) { stringsql="select*fromuserswhereusername='"+username+"'"; if(DB.ExecuteSqlEx(sql)==1) { returnfalse; } else { returntrue; } }管理員登陸管理員可實(shí)現(xiàn)的功能有新聞的添加、刪除、修改,用戶的查看、刪除,留言的查看與刪除。以管理員的身份登陸后,進(jìn)入以下頁(yè)面:進(jìn)入該頁(yè)面后擁有管理新聞,管理用戶,管理留言三大模塊。3.1新聞的添加點(diǎn)擊進(jìn)入新聞的添加頁(yè)面,并輸入相關(guān)的新聞信息,出現(xiàn)如下圖所示的效果圖:鼠標(biāo)單擊按鈕的觸發(fā)事件:protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { stringdatetime=DateTime.Now.ToString(); stringsql="insertintonews(subjects,author,contents,type,sysdate)values('"+this.txtsubject.Text+"','"+this.txtauthor.Text+"','"+this.txtcontent.Text+"','"+dl1.SelectedItem.Value+"','"+datetime+"')"; DB.ExecuteSql(sql); Response.Write("<script>javascript:alert('添加成功?。。?);</script>"); sql="select*fromnewswheresysdate='"+datetime+"'"; conn.Open(); SqlCommandcmd=newSqlCommand(sql,conn); Session["newsid"]=cmd.ExecuteScalar().ToString(); }當(dāng)新聞添加成功后會(huì)彈出一個(gè)對(duì)話框,如下圖所示:3.2新聞的添加與刪除當(dāng)點(diǎn)擊修改/刪除新聞按鈕時(shí),會(huì)進(jìn)入以下的頁(yè)面,該頁(yè)面功能有新聞的搜索,修改及刪除。當(dāng)頁(yè)面載入時(shí)會(huì)執(zhí)行Page_load事件,并執(zhí)行一下代碼,得到下圖所示的頁(yè)面:protectedvoidPage_Load(objectsender,System.EventArgse) { //在此處放置用戶代碼以初始化頁(yè)面 if(!this.IsPostBack) { this.btndelselect.Attributes.Add("onclick","returnconfirm('確認(rèn)刪除嗎?')"); this.BindToDataGrid(); } }3.3新聞的搜索新聞的搜索可以分為按作者查找、按主題查找、按內(nèi)容查找,以按主題查找為例,在新聞搜索框中輸入123,并按照標(biāo)題查找,得到如下圖所示的結(jié)果:代碼如下:protectedvoidbtnfind_Click(objectsender,System.EventArgse) { find=this.ddlfind.SelectedItem.Value; findcontent=this.txtfind.Text; this.dg.CurrentPageIndex=0; this.BindToDataGrid(); }3.4新聞的修改當(dāng)點(diǎn)擊編輯后,會(huì)跳轉(zhuǎn)到一個(gè)名為modifynew.asp的頁(yè)面,在此頁(yè)面可以對(duì)新聞進(jìn)行編輯,再次進(jìn)行類似于新聞添加的代碼操作。3.5新聞的刪除新聞的刪除分為批量刪除和單個(gè)新聞的刪除。單個(gè)新聞的刪除即直接點(diǎn)擊刪除字樣,選中名為123標(biāo)題的新聞,此時(shí)如圖所示,點(diǎn)擊刪除操作后,頁(yè)面如下圖所示:代碼如下所示: privatevoiddg_DeleteCommand(objectsource, System.Web.UI.WebControls.DataGridCommandEventArgse) { stringnewsid=this.dg.DataKeys[e.Item.ItemIndex].ToString(); stringsql="select*fromphotowherenewsid='"+newsid+"'"; conn.Open(); SqlCommandcmd=newSqlCommand("select*fromphotowhere newsid='"+newsid+"'",conn); SqlDataReadersdr=cmd.ExecuteReader(); while(sdr.Read()) { stringfileName=sdr["filename"].ToString(); File.Delete(Server.MapPath("upload")+"\\"+fileName); } sdr.Close(); conn.Close(); stringsql1="deletefromphotowherenewsid='"+newsid+"'"; DB.ExecuteSql(sql1); stringsql2="deletefromleave_wordwherenewsid='"+newsid+"'"; DB.ExecuteSql(sql2); stringsql3="deletefromcollectionwherenewsid='"+newsid+"'"; DB.ExecuteSql(sql3); stringsql4="deletefromnewswherenewsid='"+newsid+"'"; DB.ExecuteSql(sql4); this.BindToDataGrid(); }3.6批量刪除當(dāng)許多的新聞都需要進(jìn)行刪除時(shí),一個(gè)一個(gè)的進(jìn)行刪除就會(huì)顯得十分的繁瑣,為了是更加的任性話,加入了批量刪除的功能。在這我們?nèi)缧鑴h除標(biāo)題名為《國(guó)際新聞》和《國(guó)家主席習(xí)近平發(fā)表》的新聞內(nèi)容,我們可以選中刪除后面的多選框,然后點(diǎn)擊頁(yè)面下方的“選中刪除內(nèi)容”按鈕,會(huì)彈出確認(rèn)刪除的對(duì)話框,點(diǎn)擊確定即可對(duì)選中的新聞進(jìn)行刪除操作。效果圖如下所示:點(diǎn)擊“刪除選中新聞”按鈕所觸發(fā)的按鈕代碼如下: protectedvoidbtndelselect_Click(objectsender,System.EventArgse) { foreach(DataGridItemdlinthis.dg.Items) { CheckBoxchk=(CheckBox)dl.FindControl("chkSelect"); if(chk.Checked) { stringnewsid=this.dg.DataKeys[dl.ItemIndex].ToString(); conn.Open(); SqlCommandcmd=newSqlCommand("select*fromphotowherenewsid='"+newsid+"'",conn); SqlDataReadersdr=cmd.ExecuteReader(); while(sdr.Read()) {. stringfileName=sdr["filename"].ToString(); File.Delete(Server.MapPath("upload")+"\\"+fileName); } sdr.Close(); conn.Close(); stringsql1="deletefromphotowherenewsid='"+newsid+"'"; DB.ExecuteSql(sql1); stringsql2="deletefromleave_wordwherenewsid='"+newsid+"'"; DB.ExecuteSql(sql2); stringsql3="deletefromcollectionwherenewsid='"+newsid+"'"; DB.ExecuteSql(sql3); stringsql4="deletefromnewswherenewsid='"+newsid+"'"; DB.ExecuteSql(sql4); } } this.BindToDataGrid(); }點(diǎn)擊“刪除選中新聞”按鈕后彈出如下圖對(duì)話框代碼如下: privatevoiddg_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgse) { if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) { ((LinkButton)e.Item.Cells[3].Controls[0]).Attributes.Add("onclick","returnconfirm('確認(rèn)刪除嗎?')"); } }3.7用戶的刪除與查看點(diǎn)擊查看/刪除用戶,進(jìn)入updateusers頁(yè)面,在此頁(yè)面可以進(jìn)行用戶的搜索、查看用戶的信息,刪除用戶,批量刪除操作,由于這些功能與新聞的添加刪除,修改所使用的方法類似,代碼便不再重復(fù),下面是效果演示:用戶的查找:用戶的刪除3.8留言的刪除與查看當(dāng)用戶瀏覽新聞,對(duì)新聞內(nèi)容作出評(píng)價(jià)是,作為管理員需要審核這些評(píng)論的內(nèi)容,當(dāng)評(píng)論的內(nèi)容有不符合網(wǎng)絡(luò)規(guī)范以及相關(guān)法律法規(guī)時(shí)需要對(duì)留言進(jìn)行刪除操作。由于代碼的內(nèi)容與新聞的添加刪除類似,在此便不做累述。普通用戶的登陸:普通用戶所需要的功能是對(duì)新聞的瀏覽,評(píng)論,以及用戶信息的修改。4.1新聞的瀏覽用戶輸入正確的賬號(hào)密碼登陸后,即可進(jìn)入主頁(yè)面。頁(yè)面的效果圖如下所示:在此頁(yè)面需要實(shí)現(xiàn)當(dāng)用戶未登錄,直接訪問(wèn)此頁(yè)面時(shí),會(huì)識(shí)別用戶的登陸狀態(tài),從而直接跳轉(zhuǎn)到用戶登陸頁(yè)面,控制此功能的代碼如下:protectedvoidPage_Load(objectsender,System.EventArgse) { if(Session["username"]==null&&Session["adminname"]==null) { Response.Redirect("login.aspx"); } //在此處放置用戶代碼以初始化頁(yè)面 }4.2瀏覽新聞當(dāng)用戶點(diǎn)擊新聞標(biāo)題后,進(jìn)入瀏覽界面,效果如如下所示:加載選中的新聞是,所調(diào)用的代碼如下:publicpartialclassshownew:System.Web.UI.Page { SqlConnectionconn=DBController.CreateConn(); protectedvoidPage_Load(objectsender,System.EventArgse) { //在此處放置用戶代碼以初始化頁(yè)面 if(!this.IsPostBack) { intnewsid=Convert.ToInt32(Request.QueryString["newsid"]); see(); stringsql="select*fromnewswherenewsid="+newsid; SqlCommandmycmd=newSqlCommand(sql,conn); conn.Open(); SqlDataReadergetdata=mycmd.ExecuteReader(); while(getdata.Read()) { this.txtsubject.Text=getdata["subjects"].ToString(); this.txtcontent.Text=getdata["contents"].ToString(); this.sysdate.Text=getdata["sysdate"].ToString(); this.seenum.Text=getdata["seenum"].ToString(); } mycmd.Dispose(); getdata.Close(); conn.Close(); this.BindToDataGrid(); this.BindToTable(); } }4.3收藏夾功能在此頁(yè)面可以觀看新聞,可以將喜歡的新聞加入收藏夾中,可以對(duì)新聞內(nèi)容進(jìn)評(píng)論,可以對(duì)其他留言觀看。添加入收藏夾功能的實(shí)現(xiàn)點(diǎn)擊觸發(fā)btnAddToCollection_Click事件,并把用戶名與新聞的編號(hào)讀入數(shù)據(jù)庫(kù)中,并彈出對(duì)話框提示添加成功,相關(guān)數(shù)據(jù)加入到collection數(shù)據(jù)表中。代碼如下:protectedvoidbtnAddToCollection_Click(objectsender,System.EventArgse) { stringnewsid=(Request.QueryString["newsid"]).ToString(); conn.Open(); stringsql="insertintocollection(username,newsid)values('"+Session["username"]+"',"+newsid+")"; SqlCommandcmd=newSqlCommand(sql,conn); cmd.ExecuteNonQuery(); conn.Close(); Response.Write("<script>javascript:alert('已添加到您的收藏夾?。?!');</script>"); }此時(shí)收藏夾的頁(yè)面如下圖所示:4.4留言功能對(duì)新聞評(píng)論功能的實(shí)現(xiàn):當(dāng)用戶瀏覽完新聞,需要發(fā)表一下自己的見(jiàn)解,寫(xiě)好自己想說(shuō)的內(nèi)容之后,提交評(píng)論,此時(shí)觸發(fā)btnConfirm_Click事件,調(diào)用以下代碼: protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { if(Page.IsValid) { intnewsid=Convert.ToInt32(Request.QueryString["newsid"]); stringsql="insertintoleave_word(username,newsid,title,content,posttime)values('"+Session["username"]+"',"+newsid+",'"+this.txttitle.Text+"','"+this.txtcont.Text+"','"+DateTime.Now.ToString()+"')"; conn.Open(); SqlCommandmycmd=newSqlCommand(sql,conn); mycmd.ExecuteNonQuery(); mycmd.Dispose(); conn.Close(); this.BindToTable(); } }4.5顯示所有留言當(dāng)用戶需要觀看其他會(huì)員的留言時(shí),點(diǎn)擊“顯示所有留言”,觸發(fā)BtnShowAllLeaveWord_Click事件,并且跳轉(zhuǎn)入showlw.aspx頁(yè)面。點(diǎn)擊后效果如如下所示: protectedvoidlBtnShowAllLeaveWord_Click(objectsender,System.EventArgse) { stringnewsid=(Request.QueryString["newsid"]).ToString(); Response.Redirect("showlw.aspx?newsid="+newsid); }4.6個(gè)人資料的修改當(dāng)用戶需要對(duì)個(gè)人的信息進(jìn)行修改時(shí),點(diǎn)擊導(dǎo)航條上方的修改資料,進(jìn)入如下頁(yè)面:當(dāng)填好信息后,點(diǎn)擊確認(rèn)即可修改個(gè)人信息,此時(shí)用戶的信息被寫(xiě)回到數(shù)據(jù)庫(kù)的user表中。代碼如下:protectedvoidPage_Load(objectsender,System.EventArgse) { //在此處放置用戶代碼以初始化頁(yè)面 if(!this.IsPostBack) { conn.Open(); stringsql="select*fromuserswhereusername='"+Session["username"]+"'"; SqlCommandcmd=newSqlCommand(sql,conn); SqlDataReadersdr=cmd.ExecuteReader(); if(sdr.Read()) { this.txtUserName.Text=sdr["username"].ToString(); this.txtPwd.Text=sdr["userpwd"].ToString(); this.txtPwdConfirm.Text=sdr["userpwd"].ToString(); this.txtAge.Text=sdr["age"].ToString(); this.txtEmail.Text=sdr["email"].ToString(); if(sdr["sex"].ToString()=="男") { this.rBtnM.Checked=true; } else { this.rBtnF.Checked=true; } } sdr.Close(); conn.Close(); } } overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN:該調(diào)用是ASP.NETWeb窗體設(shè)計(jì)器所必需的。 // InitializeComponent(); base.OnInit(e); } ///<summary> ///設(shè)計(jì)器支持所需的方法-不要使用代碼編輯器修改 ///此方法的內(nèi)容。 ///</summary> privatevoidInitializeComponent() { } #endregion protectedvoidbtnConfirm_Click(objectsender,System.EventArgse) { stringsex; if(this.rBtnM.Checked==true) { sex="男"; } else { sex="女"; } stringsql="updateuserssetuserpwd='"+this.txtPwd.Text+"',sex='"+sex+"',age="+this.txtAge.Text+",email='"+this.txtEmail.Text+"'whereusername='"+Session["username"]+"'"; DB.ExecuteSql(sql); Response.Write("<script>javascript:alert('更新成功?。?!');</script>"); }系統(tǒng)調(diào)試4.1程序調(diào)試概述程序調(diào)試是根據(jù)軟件開(kāi)發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu),而精心設(shè)計(jì)一批測(cè)試用例,并利用這些數(shù)據(jù)運(yùn)行程序、發(fā)現(xiàn)錯(cuò)誤的過(guò)程。是將編制的程序投入實(shí)際運(yùn)行前,用手工或編譯程序等方法進(jìn)行測(cè)試,修正語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤的過(guò)程。這是保證計(jì)算機(jī)信息系統(tǒng)正確性的必不可少的步驟。編完計(jì)算機(jī)程序,必須送入計(jì)算機(jī)中測(cè)試。程序調(diào)試主要有兩種方法,即靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試。程序的靜態(tài)調(diào)試就是在程序編寫(xiě)完以后,由人工“代替”或“模擬”計(jì)算機(jī),對(duì)程序進(jìn)行仔細(xì)檢查,主要檢查程序中的語(yǔ)法規(guī)則和邏輯結(jié)構(gòu)的正確性。實(shí)踐表明,有很大一部分錯(cuò)誤可以通過(guò)靜態(tài)檢查來(lái)發(fā)現(xiàn)。通過(guò)靜態(tài)調(diào)試,可以大大縮短上機(jī)調(diào)試的時(shí)間,提高了效率。程序的動(dòng)態(tài)調(diào)試貫穿在編譯、連接和運(yùn)行的整個(gè)過(guò)程中。根據(jù)程序編譯、連接和運(yùn)行時(shí)計(jì)算機(jī)給出的錯(cuò)誤信息進(jìn)行程序調(diào)試,是程序調(diào)試中常用的方法,也是最初步的動(dòng)態(tài)調(diào)試。在此基礎(chǔ)上,通過(guò)“分段隔離”、“設(shè)置斷點(diǎn)”、“跟蹤打印”進(jìn)行程序的調(diào)試。動(dòng)態(tài)調(diào)試常用兩種方法:黑盒法和白盒法。黑盒法是把測(cè)試對(duì)象看作一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和特征,只依據(jù)需求說(shuō)明書(shū)檢查程序功能;白盒法是把測(cè)試對(duì)象看作一個(gè)打開(kāi)的盒子,測(cè)試人員必須了解程序內(nèi)部結(jié)構(gòu),對(duì)所有邏輯路徑進(jìn)行測(cè)試。實(shí)踐表明,對(duì)于查找某些類型的錯(cuò)誤來(lái)說(shuō),靜態(tài)調(diào)試比動(dòng)態(tài)調(diào)試更有效,對(duì)于其他類型的錯(cuò)誤來(lái)說(shuō)剛好相反。因此靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試是互相補(bǔ)充、相輔相成的,缺少其中任何一種方法都會(huì)使查找錯(cuò)誤的效率降低。4.2調(diào)試本系統(tǒng)分析調(diào)試本程序中常見(jiàn)的錯(cuò)誤有3類:語(yǔ)法錯(cuò)誤、例外錯(cuò)誤和邏輯錯(cuò)誤。常犯的語(yǔ)法錯(cuò)誤包括以下幾方面:忘記書(shū)寫(xiě)表達(dá)式中的引號(hào)與其它運(yùn)算符。循環(huán)嵌套時(shí)的括號(hào)。(3)數(shù)據(jù)類型格式不對(duì)。(4)SQL語(yǔ)句錯(cuò)誤。邏輯錯(cuò)誤比較難檢測(cè)和解決。編譯程序并不能發(fā)現(xiàn)它們。有時(shí)候,嚴(yán)重的邏輯錯(cuò)誤會(huì)停止程序的執(zhí)行。有一些邏輯錯(cuò)誤會(huì)產(chǎn)生明顯錯(cuò)誤的結(jié)果。常見(jiàn)的邏輯錯(cuò)誤有:(1)數(shù)據(jù)庫(kù)字段錯(cuò)誤。(2)數(shù)據(jù)字段設(shè)計(jì)不夠數(shù)據(jù)長(zhǎng)度。例外錯(cuò)誤是由程序直接控制的外部環(huán)境引起的。例如,程序因?yàn)檎也坏剿枰奈募?,也許這個(gè)文件已被刪除或移動(dòng);控件或?qū)ο笮薷牧嗣Q等。通過(guò)調(diào)試本系統(tǒng)讓我的糾錯(cuò)能力和分
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 感動(dòng)中國(guó)先進(jìn)人物事跡(11篇)
- 開(kāi)展節(jié)能宣傳活動(dòng)總結(jié)
- 愚人節(jié)活動(dòng)策劃(集錦15篇)
- 高中生物教師提升職稱答辯題目精 選8題
- 關(guān)于彩虹小知識(shí)
- 2016山西道法試卷+答案+解析
- 超聲引導(dǎo)下坐骨神經(jīng)阻滯聯(lián)合股神經(jīng)阻滯在糖尿病患者膝關(guān)節(jié)以下截肢手術(shù)中的應(yīng)用效果分析
- 產(chǎn)業(yè)研究報(bào)告-中國(guó)糧油行業(yè)發(fā)展現(xiàn)狀、市場(chǎng)規(guī)模、投資前景分析(智研咨詢)
- 二零二五年度航空航天投資理財(cái)合同模板3篇
- 銷售渠道的選擇與管理培訓(xùn)
- 課題申報(bào)書(shū):GenAI賦能新質(zhì)人才培養(yǎng)的生成式學(xué)習(xí)設(shè)計(jì)研究
- 潤(rùn)滑油知識(shí)-液壓油
- 2024年江蘇省中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 駱駝祥子-(一)-劇本
- 全國(guó)醫(yī)院數(shù)量統(tǒng)計(jì)
- 《中國(guó)香文化》課件
- 2024年醫(yī)美行業(yè)社媒平臺(tái)人群趨勢(shì)洞察報(bào)告-醫(yī)美行業(yè)觀察星秀傳媒
- 第六次全國(guó)幽門(mén)螺桿菌感染處理共識(shí)報(bào)告-
- 天津市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 經(jīng)濟(jì)學(xué)的思維方式(第13版)
- 盤(pán)錦市重點(diǎn)中學(xué)2024年中考英語(yǔ)全真模擬試卷含答案
評(píng)論
0/150
提交評(píng)論