C校園新聞發(fā)布系統(tǒng)_第1頁
C校園新聞發(fā)布系統(tǒng)_第2頁
C校園新聞發(fā)布系統(tǒng)_第3頁
C校園新聞發(fā)布系統(tǒng)_第4頁
C校園新聞發(fā)布系統(tǒng)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1ASP.NET網(wǎng)站開發(fā)校園新聞發(fā)布系統(tǒng)第一頁,共三十一頁。21.需求分析在需求階段應該將用戶的功能需求描述清楚。使用建模軟件(如Visio、RationalRose)對系統(tǒng)進行需求分析,并畫出系統(tǒng)功能模塊圖、用例圖;新聞發(fā)布系統(tǒng)功能分析系統(tǒng)包含的用戶

管理員:發(fā)布、修改、刪除新聞

瀏覽者:查看新聞

系統(tǒng)包含的功能

新聞類別管理

新聞管理

新聞查看第二頁,共三十一頁。3新聞發(fā)布系統(tǒng)功能模塊圖功能模塊圖

用圖直觀的描述系統(tǒng)的功能模塊第三頁,共三十一頁。4新聞發(fā)布系統(tǒng)用例圖從用戶的角度看系統(tǒng),系統(tǒng)為不同類別的用戶提供的功能第四頁,共三十一頁。52.系統(tǒng)設計什么是系統(tǒng)設計?系統(tǒng)設計包括哪些?系統(tǒng)設計作為軟件開發(fā)流程中需求分析之后的一個環(huán)節(jié),主要是根據(jù)需求分析,完成系統(tǒng)的設計。系統(tǒng)設計一般包括:

(1)概要設計

(2)詳細設計

(3)數(shù)據(jù)庫設計

第五頁,共三十一頁。6總體設計時序圖:用戶和系統(tǒng)之間交互(動作)的先后順序

例如:新聞類別添加時序圖第六頁,共三十一頁。7數(shù)據(jù)庫設計根據(jù)新聞發(fā)布系統(tǒng)的需求分析及總體設計,新聞發(fā)布系統(tǒng)數(shù)據(jù)庫中涉及到的數(shù)據(jù)表有:

新聞類別表UT_News_NewsType

新聞表UT_News_NewsContent

管理員表UT_Sys_Admin

第七頁,共三十一頁。8數(shù)據(jù)表結構系統(tǒng)管理員表新聞類別表新聞表第八頁,共三十一頁。9視圖為了簡化SQL語句,提高查詢數(shù)據(jù)的速度,在數(shù)據(jù)庫中建立了視圖供頁面查詢數(shù)據(jù)使用的視圖UV_News_NewsInfo第九頁,共三十一頁。10子任務1系統(tǒng)登錄頁面設計3.后臺程序實現(xiàn)第十頁,共三十一頁。11界面設計步驟:1.新建網(wǎng)站“學校新聞發(fā)布系統(tǒng)”2.進入Default.aspx頁面設計窗口,選擇“布局”——“插入表”,10行、6列3.將最上面一行合并單元格,并插入Logo圖片可以在網(wǎng)站目錄中添加images目錄存放圖片資源;將圖片直接拖放到表格中4.左邊一列合并單元格,插入一個6行4列的表格,放置登錄使用的控件 包括4個Label、4個TextBox、3個Button和1個DropDownList。3個RequiredFieldValidator、1個CompareValidator和1個ValidationSummary驗證控件如CompareValidator1用于驗證用戶輸入的驗證碼是否正確:

ControlToCompare: txtCreateCode ControlToValidate: txtCode Display: Dynamic ErrorMessage: 驗證碼有誤

Text: *第十一頁,共三十一頁。12身份列表框:設置Items屬性,將學生項的Selected設為TrueValidationSummary控件:ShowMessageBox=true;ShowSummary=false;另外分別設置“登錄”按鈕,及驗證控件的ValidationGroup屬性為”G1”第十二頁,共三十一頁。13后臺代碼的編寫:數(shù)據(jù)庫連接字符串:在Web.config中保存連接字符串<connectionStrings><addname="strConn"connectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\\工作\\11年秋\\09.net\\example\\網(wǎng)站\\學校新聞發(fā)布系統(tǒng)\\App_Data\\OnlineExamDB.mdb"/></connectionStrings>staticstringstrConn=ConfigurationManager.ConnectionStrings[“strConn”].ToString();//靜態(tài)變量OleDbConnectionmyConn=newOleDbConnection(strConn);stringtmp;//用于存放驗證碼第十三頁,共三十一頁。14Load事件protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack)//頁面首次加載時執(zhí)行

{tmp=RndNum(4);//隨機產生4位驗證碼

txt_CreateCode.Text=tmp;//顯示驗證碼

txt_CreateCode.ReadOnly=true;//只讀

}}第十四頁,共三十一頁。15stringRndNum(intVcodeNum){stringMaxNum="";stringMinNum="";for(inti=0;i<VcodeNum;i++)MaxNum=MaxNum+"9";MinNum=MaxNum.Remove(0,1);

Randomrd=newRandom();//隨機產生999~9999之間的數(shù)

stringVNum=Convert.ToString(rd.Next(Convert.ToInt32(MinNum),Convert.ToInt32(MaxNum)));returnVNum;}Random.Next(intMinNum,intmaxNum);隨機產生一個數(shù)第十五頁,共三十一頁。16點擊“登錄”按鈕當下拉列表框中未選擇管理員身份,彈出提示對話框當選擇了管理員身份,但賬號或密碼輸入錯誤時,彈出提示頁面輸入正確進入后臺新聞類別管理頁面彈出對話框可以采用執(zhí)行JavaScript的方法:Response.Write("<script>alert('您不是管理員');location='Default.aspx'</script>");Alert——對話框;location關閉對話框后進入哪個頁面;第十六頁,共三十一頁。17protectedvoidbtnlogin_Click(objectsender,EventArgse){if(txtCode.Text==txt_CreateCode.Text)//驗證碼輸入一致

{if(ddlstatus.SelectedItem.Text=="管理員")//下拉列表框選擇管理員

{if(CheckAdmin(txtNum.Text.Trim(),txtPwd.Text.Trim()))//檢查管理員的賬號和密碼

Response.Redirect("Admin/News/NewsTypeManage.aspx");elseResponse.Write("<script>alert('用戶名或密碼錯誤');location='Default.aspx'</script>");}elseResponse.Write("<script>alert('您不是管理員');location='Default.aspx'</script>");}}第十七頁,共三十一頁。18//檢查用戶輸入的用戶名和密碼是否正確

boolCheckAdmin(stringadminNum,stringadminPwd){if(myConn.State==ConnectionState.Closed)myConn.Open();OleDbCommandmyComm=newOleDbCommand("selectcount(*)fromUT_Sys_AdminwhereAdminName='"+adminNum+"'andPWD='"+adminPwd+"'",myConn);if(Convert.ToInt32(myComm.ExecuteScalar())>0)returntrue;elsereturnfalse;}第十八頁,共三十一頁。19新聞分類管理頁面1.在網(wǎng)站中增加目錄:Admin\News2.新建NewsTypeManage.aspx頁面3.插入8行、3列的表格,合并相關單元格、添加Loge圖片、添加4個HyperLink控件和Repeater控件。HyperLink控件的Text屬性和NavigateUrl屬性如HyperLink1控件的

Text=“返回主頁”;NavigateUrl=“~/Default.aspx”編寫代碼:第十九頁,共三十一頁。20第二十頁,共三十一頁。21protectedvoidbtnSumbit_Click(objectsender,EventArgse){stringstrsql="insertintoUT_News_NewsType(NewsTypeName)values('"+txtTypeName.Text.Trim()+"')";OperateData(strsql);stringstrSql="select*fromUT_News_NewsType";this.rp_News_Type.DataSource=this.GetNewsTypeList(strSql);this.rp_News_Type.DataBind();stringsMessage="新聞分類名稱"+txtTypeName.Text.Trim()+"插入成功!";stringsURL="NewsTypeManage.aspx";Response.Write("<script>alert('"+sMessage+"');location.href='"+sURL+"'</script>");}“增加新聞類別”按鈕第二十一頁,共三十一頁。22在Load中查詢數(shù)據(jù)庫,在Repeater中顯示新聞類別列表:調用自定義函數(shù)GetNewsTypeList();返回新聞類型的所有內容publicDataTableGetNewsTypeList(stringsqlCommand){//打開數(shù)據(jù)庫連接

if(con.State==0){con.Open();}//定義并初使化數(shù)據(jù)適配器

stringstrSql=sqlCommand;SqlDataAdaptermydataadapter=newSqlDataAdapter(strSql,con);//創(chuàng)建一個數(shù)據(jù)集mydatasetDataSetmydataset=newDataSet();//將數(shù)據(jù)適配器中的數(shù)據(jù)填充到數(shù)據(jù)集中

mydataadapter.Fill(mydataset);returnmydataset.Tables[0];}第二十二頁,共三十一頁。23在Load事件中,綁定Repeater的數(shù)據(jù)源protectedvoidPage_Load(objectsender,EventArgse){//調用GetNewsTypeList(),綁定Repeater控件,顯示類別列表

stringstrSql="select*fromUT_News_NewsType";rp_News_Type.DataSource=GetNewsTypeList(strSql);rp_News_Type.DataBind();}第二十三頁,共三十一頁。24設置Repeater控件的模板代碼<HeaderTemplate><tableborder="2"style="vertical-align:middle;text-align:center;"><trstyle="background-color:#009AFF;vertical-align:middle;text-align:center;"><tdstyle="vertical-align:middle;width:200px;height:50px;text-align:center;">

新聞分類名稱</td><tdstyle="vertical-align:middle;width:100px;height:50px;text-align:center;">

修改按鈕</td><tdstyle="vertical-align:middle;width:100px;height:50px;text-align:center;">

刪除按鈕</td></tr></HeaderTemplate>標題行的設置tr代表TableRowtd代表單元格第二十四頁,共三十一頁。25<ItemTemplate>

<%#Eval("NewsTypeName")%>

<ahref='../../Admin/News/ModifyNewsType.aspx?NewsTypeID=<%#Eval("ID")%>'target="_blank">修改</a>

<asp:LinkButtonID="btnDelete"runat="server"CommandArgument='<%#Eval("ID")%>‘CommandName='<%#Eval("NewsTypeName")%>'OnClientClick="returnconfirm('你確定要刪除這條記錄?');"OnCommand="btnDelete_Click">刪除</asp:LinkButton></ItemTemplate>顯示類型的名稱“修改”超鏈接,傳遞NewsTypeID參數(shù)“刪除”超鏈接按鈕,傳遞參數(shù)ID,彈出提示對話框在新的頁面上打開第二十五頁,共三十一頁。26protectedvoidbtnDelete_Click(objectsender,CommandEventArgse){stringclassname=e.CommandName.ToString();//得到需要刪除的記錄的新聞分類名稱

intclassid=int.Parse(e.CommandArgument.ToString());//得到需要刪除的記錄的編號(Id)

try{stringstrsql="deletefromUT_News_NewsTypewhereID="+classid;

OperateData(strsql);stringsMessage="新聞分類名稱"+classname+"刪除成功!";stringsURL="NewsTypeManage.aspx";Response.Write("<script>alert('"+sMessage+"');location.href='"+sURL+"'</script>");}catch(Exceptionex){Response.Write(ex.StackTrace);}}第二十六頁,共三十一頁。27彈出一個對話框的方法:Response.Write("<script>alert('"+sMessage+"');location.href='"+sURL+"'</script>");location.href代表關閉對話框后顯示的頁面例如:test.aspx//可用來刪除數(shù)據(jù)庫中的數(shù)據(jù)

publicvoidOperateData(stringstrSql){if(myConn.State==ConnectionState.Closed)myConn.Open();OleDbCommandmyComm=newOleDbCommand(strSql,myConn);myComm.ExecuteNonQuery();myConn.Close();}第二十七頁,共三十一頁。28新聞類別修改頁面ModifyNewsType.aspx

當用戶在新聞類別管理頁面點擊某一類新聞的修改按鈕后,轉到該頁面,并將新聞類別的ID號進行傳遞第二十八頁,共三十一頁。29intclassid;//接收上一頁面?zhèn)鱽淼男侣勵悇eid號

protectedvoidPage_Load(objectsender,EventArgse){if(Request.QueryString["NewsTypeID"]!=null){classid=Convert.ToInt32(Request["NewsTypeID"].ToString());if(!Page.IsPostBack){

txtTyp

溫馨提示

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

評論

0/150

提交評論