開發第29章制作一個校友錄系統_第1頁
開發第29章制作一個校友錄系統_第2頁
開發第29章制作一個校友錄系統_第3頁
開發第29章制作一個校友錄系統_第4頁
開發第29章制作一個校友錄系統_第5頁
已閱讀5頁,還剩39頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第29 制作一個ASP.NET校友錄系開發以及軟件。1. 2. 3. ASP.NET校友錄系統而言,其作用是為了增加同學之間的友情,在需求分析文檔的引言部分的與家人和朋友發送消息,但是無法與家人和朋友生活和等。Web應用,也有WebQQ空間、博客、個人日志等,都是基于瀏為了解決C/S模式的應用程序志、、音樂等難以交互的情況,現開發ASP.NET校友錄系統用于進行校友之間的交流和通信方便校友與校友之間進行通信校友與校友之間不僅能夠日志,還能夠進行身邊信息的,這樣就加強了人與人之間的交互。現開發基于.NET平臺的校友錄應用程序,用戶能夠使用校友錄進行信息的通信和,不僅能夠加強ASP.NETASP.NET校友錄系統可以為現有學校所使用,也可以被班級或個人進行使用,適用性廣泛,能夠在校友錄中進行新鮮事的。在ASP.NET校友錄系統的開發過程中需要確定基本的系統功能,用戶功當用戶Web頁面時需要進行,如果用戶不進行就不能夠和回復留言,也不能用戶之后就需要實現用戶的登錄登錄的用戶可以進行信息的回復以及相應內容的。ID進行校友錄中的功能或文章的索引。用戶可以查看校友錄志并進行相應的評論,不僅如此,用戶還能夠在回復中發布表情,進行文當用戶后,需要對用戶進行的審核,管理員可以審核已知的用戶的,如果用戶不是校有權進行修改、和刪除等操作。管理員需要對校友發布的相應的留言進行管理,如果校友發布了、黃色、穢或的留言,當用戶進行了操作或者用戶后發布了太多的、黃色、穢等內容,管理員可以將用戶ASP.NET29-1所示。操作。對于用戶而言,用戶在ASP.NET校友錄中必須要進行和登錄操作,如果用戶不進行登錄操圖29-1ASP.NET校友錄系統模塊劃 圖29-2用戶登錄模塊流程如果管理員對用戶進行了審核并通過相應的用戶,則說明用戶是一個可以被認為是真實的用戶,那29-3正如圖29-3所示,管理員在進行操作時同樣需要對管理員進行驗證,由于管理員也是用戶的作,如果有管理權限,管理員就能夠在進行相應的管理操作。ASP.NETASP.NET留言本更加的復雜,在數據庫設計上也更加復雜,不同的表之間還包考慮到數據的約束和完整性約束以便數據庫的。校友錄包含了的功能,這些功能都能夠讓校友用戶在上自己的、音樂、等,所以29-4所示。29-4用戶表:用于存放用戶的信息,以便登錄時使用公告信息表:管理員可以在校友錄中發布的信息ASP.NET校友錄系統中最為重要的就是日志表和與之相關的表,用戶在校友錄系統中主要通過日志進行信息交換和。其志表的字段可以歸納如下。日志:日志,用于顯示日志發布的日期日志內容:日志內容,用于呈現日志的內容,包括音樂、等信息日志閱讀次數:用于表示閱讀被的次數IDID而暫時關閉對其他文章的瀏覽。模塊面的章節中都有設計,這里同樣需要模塊,模塊:用于保存用戶的,當用戶使用登錄時可以通過驗證:用于保存用戶的用戶情況:用于保存用戶的狀態,可以設置為通過和未通過等與前面的用戶不同的是,這里多了一個用戶權限字段,由于管理員也能夠進行普通的用戶的操IDIDIDIDIDSQLServerManagementStudioSQLServerManagementStudioSQL語句進行創建。在創建日志表之前首先需要創建friends數據庫,創建完成后就能夠進行其中的表的創建。在ASP.NET29-529-6圖29-5日志表結 圖29-6日志分類表結time:日志,用于顯示日志發布的日期marksUSE[friends]SETANSINULLSUSE[friends]SETANSINULLSONSETQUOTEDIDENTIFIERONCREATETABLE[id][int]IDENTITY(1,1)NOT[title][nvarchar](500)COLLATE[author][nvarchar](50)COLLATE[time][datetime]NULL,[content][nvarchar](max)[marks][int]PRCCIASNULL,PRCCIASNULL,PRCCIAS ][int]NULL,[userid][int]NULL,[hits][int]NULL,CONSTRAINT[PKdiary]PRIMARYKEY([id])WITH(PADINDEX=OFF,STATISTICS PUTE=OFF,IGNOREDUPKEY=OFF,ALLOWROWLOCKS=ON,ALLOWPAGELOCKS=ON)ON[PRIMARY])ONUSE[friends]SETUSE[friends]SETANSINULLSONSETQUOTEDIDENTIFIERONCREATETABLE[id][int]IDENTITY(1,1)NOT[classname][nvarchar](50)PRCCIASCONSTRAINT[PKdiaryclass]PRIMARYKEY([id])WITH(PADINDEX=OFF,STATISTICS PUTE=OFF,IGNOREDUPKEY=OFF,ALLOWROWLOCKS=ON,ALLOWPAGELOCKS=ON)ON[PRIMARY])ONUSE[friends]SETANSINULLSUSE[friends]SETANSINULLSONSETQUOTEDIDENTIFIERONCREATETABLE[id][int]IDENTITY(1,1)NOT[title][nvarchar](500)COLLATE[time][datetime]NULL,[content][nvarchar](max)COLLATE[userid][int]NULL,[diaryid][int]PRCCIASPRCCIASCONSTRAINT[PKdiarygbook]PRIMARYKEY([id])WITH(PADINDEX=OFF,STATISTICS PUTE=OFF,IGNOREDUPKEY=OFF,ALLOWROWLOCKS=ON,ALLOWPAGELOCKS=ON)ON[PRIMARY])ON在用戶中,增加了對管理員驗證的字段,用戶表字段如下所示IMQQ/MSNSQL查詢語句代碼如下所示。USE[friends]SETANSINULLSONUSE[friends]SETANSINULLSONSETQUOTEDIDENTIFIERONCREATETABLE[id][int]IDENTITY(1,1)NOT[username][nvarchar](50)COLLATE[password][nvarchar](50)PRCCIASPRCCIAS ][int][picture][nvarchar](max)COLLATE PRCCIASNULL,[IM][nvarchar](50)COLLATE PRCCIASNULL,[information][nvarchar](max)COLLATE PRCCIASNULL,[others][nvarchar](max)COLLATE PRCCIASNULL,[ifisuser][int]NULL,[userroot][int]CONSTRAINT[PKRegister]PRIMARYKEY([id])WITH(PADINDEX=OFF,STATISTICS PUTE=OFF,IGNOREDUPKEY=OFF,ALLOWROWLOCKS=ON,ALLOWPAGELOCKS=ON)ON[PRIMARY])ON

圖29-7表結公告數據可以不使用數據庫進行,在這里可以使用txt文檔進行數據,這樣不僅可以減輕HTMLServerManagementStudioASP.NET同學錄系統中,包括一些數據約束用于保持數據29-8所示。29-829-8中說明了數據庫表之間的關系,進行表之間數據的約束。當進行數據插入時,就會判斷數SQL語句也會相應的更改,就HTML編輯器進行富文本編寫和呈現。同樣為了簡化數據操作,也可以使SQLHelper類進行數據操作。FckeditorHTMLFckeditorWord一樣進行頁面排版和布局,Fckeditor還能夠使用表情、進行拼寫檢查等。Fckeditor進行文本提交是因為在留言本系統中不需要進行復雜HTMLFckeditorFckeditor-FckeditorFckeditor進行文本框制作和二次開發。在項目中添加Fckeditor的,首先需要將Fckeditor文件夾拷貝到項目中。由于ASP.NET應用程29-9所示。FckeditorFckeditor文件夾,選擇【添加到項目】29-10所示。圖29-9顯示所有文 圖29-10添加添加文件后還需要添加相應的DLL文件以便在程序開發中使用Fckeditor編輯器進行文本框開發。右擊現有項目在下拉菜單中選【添加現有項選項在中選【瀏覽選項卡找【附-Fckeditor 中的bin 并添加到項目中,如圖29-11所示。添加后就能夠在開發中使用Fckeditor編輯器進行富文本編輯,開發人員還能夠在中添Fckeditor編輯器。單擊【工具箱】的空白區域,單擊右鍵,在下拉菜單中選擇【選擇項】選項,選擇剛才添加的DLL文件。選擇后單擊【確定】按鈕即可添加控件。控件添加完畢后就會在中呈29-12所示。 圖29-11添加圖29-12添加后的Fckeditor編輯器控<formid="form1"<formid="form1"Fckeditor29-1329-13FckeditorFckeditorHTML編輯器會花費Fckeditor編輯器能夠進行樣式的布局、文本格式化等操作而無需從頭進行開發。對于Fckeditor編輯器而言,Fckeditor編輯器是免費和開源的,開發人員能夠免費的Fckeditor編輯器ASP.NETSQLHeplerADO.NET配置<addkey="server"<addkey="database"<addkey="uid"<addkey="server"<addkey="database"<addkey="uid"<addkey="pwd"<addkey="look"http://server//guestbook//uid//pwd//look通過ConfigurationManager.AppSettingsSQLHelper類中就使用ConfigurationManager.AppSettingsserver:serverdatabase:databaseuid:uidpwd:pwd項,用于配置數據庫服務器的look:lookWeb.config中<appSettings/>配置節的參數值。在ASP.NET校友錄系統中使用了Fckeditor以及SQLHelper簡化了HTML編輯器的開發和數據操作,用戶實頁面HTML代碼見光盤中源代碼\第29章\29-1\29-1\register.aspx。登錄操作,如果用戶沒有用戶惟一則必須先進行,頁面如圖29-14所示。圖29-14頁protectedvoidButton1Click(objectsender,EventArgs{{string="insertintoregister(username,password, values('"+TextBox1.Text+"','"+TextBox2.Text+"','"+DropDownList1.Text+"','"+TextBox3.Text+"','"+TextBox4.Text+"','"+TextBox5.Text+"','"+TextBox6.Text+"',0,0)"; //SQL }{ }}當用戶執行后,如果成功系統就會跳轉到登錄頁面進行登錄操作,如果沒有成功(拋出異常),則系統會認定用戶執行了操作,會跳轉到首頁。在進行時,默認情況下ifisuser字段為0,用戶后并不能夠立即通過,需要管理員進行驗證。于前面已經講解了很多關于的操作,這里就不再詳細講解如何實現用戶登錄操作面的章節中講的非常的多,并且在模塊篇中還詳細的介紹了用戶登錄模塊的開HTML核心代碼見光盤中源代碼\29章\29-1\29-1\login.aspx。用戶完成后就會跳轉到登錄頁面,登錄頁面能夠給用戶配置相應的Session對象以用戶狀29-15所示。29-15protectedvoidButton1Click(objectsender,protectedvoidButton1Click(objectsender,EventArgs{stringstrsql="select*fromregisterwhereusername='"+TextBox1.Text+"'andpassword='"TextBox2.Text+SqlDataReadersdr=SQLHelper.SQLHelper.ExecReader(strsql);if(sdr.Read()){Session["username"]=TextBox1.Text;Session["userid"]=sdr["id"].ToString();Session["admin"]=sdr["userroot"].ToString();}{////////用戶////Label1.Text="無法登錄,用戶名 錯誤 //提示錯誤登}}29-16所示。29-1629-16551logo4:顯示發布的日志5:顯示加入的同學,最熱門的日志等等的同學等在頁面進行數據呈現的自定義控件并沒有多大的難度但是自定義控件能夠方便開發和,namespacenamespace{[ToolboxData("<{0}:MyadminspublicclassMyadmins://{{protectedoverridevoidRenderContents(HtmlTextWriter{{StringBuilderstr=newStringBuilder(); //使用Stringstringstrsql="select*fromregisterwhereuserroot=1orderbyiddesc"; //創建SQL語句SqlDataReadersdr=SQLHelper.SQLHelper.ExecReader(strsql); while(sdr.Read()) {str.Append("<spanstyle=\"color:white\"><ahref=\"userindex.aspx?uid="+sdr["id"]+sdr["username" } }{ }}}}namespace{[ToolboxData("<{0}:NewFriendsrunat=server></{0}:NewFriends>")]publicclassNewFriends:WebControlnamespace{[ToolboxData("<{0}:NewFriendsrunat=server></{0}:NewFriends>")]publicclassNewFriends:WebControl{protectedoverridevoidRenderContents(HtmlTextWriter{{StringBuilderstr=new////stringstrsql"selecttop10*fromregisterwhereuserroot=0orderbyid //SqlDataReadersdr=SQLHelper.SQLHelper.ExecReader(strsql); while //遍歷對{str.Append("<spanstyle=\"color:white\"><ahref=\"userindex.aspx?uid="+sdr["id"]+sdr["username //} //}{ //}}}}}<div<imgsrc="images/logo.png"29.5.3中的可以作為頁面布局的規范,頁面布局人員能夠使用該<div<imgsrc="images/logo.png"logoHTML<div呈現。在顯式了logo之后,就需要呈現banner。banner的樣式在CSS文件中進行編寫,在實<div在實現了banner后,就需要實現校友錄頁面中最重要的頁面,即center內的內容center中包括main_board、main_site以及main_right,示例代碼見光盤中源代碼\第29<divxx<divxxGridView控件和自定義控件,GridView控件主要是用于呈現日志數據,其HTML編輯器進行富文本編輯,這樣就提高了交互性。對于用戶而言,也能夠使用HTML編輯器編寫豐富的內容,包括音樂和文件上傳。日志發布頁面只需要將數據插入到相應的表即可,日志發布頁面示例HTML代碼見光盤中源代碼\第29章protectedvoidButton1_Click(objectprotectedvoidButton1_Click(objectsender,EventArgsprotectedvoidPage_Load(objectsender,EventArgsprotectedvoidPage_Load(objectsender,EventArgs{if(Session["username"]==null||Session["userid"]=={}}////{{stringstrsql="insertintodiary(title,author,time,content,marks,cla ,userid,hits)values('"+TextBox1.Text+"','"+Session["username"].ToString()+"','"+DateTime.Now+"','"+FCKeditor1.Value+"',0,"+DropDownList1.Text+",'"+Session["userid"].ToString()+"',0)"; //SQL////}{Label3.Text="出現錯誤,請檢查日志 //提示錯誤信}}HTML代碼,日志修改頁面中的控件基protectedprotectedvoidPage_Load(objectsender,EventArgs{if{if(Session["username"]==null||Session["userid"]=={}{stringstrsql="select*fromdiarywhereid='"+Request.QueryString["id"]+"'";SqlDataReadersdr=SQLHelper.SQLHelper.ExecReader(strsql); //編寫SQLif(sdr.Read()) {if(sdr["userid"].ToString()==||||Session["admin"].ToString()=={TextBox1.Text=sdr["title"].ToString();Label1.Text=sdr["author"].ToString();Label2.Text=sdr["time"].ToString();FCKeditor1.Value=DropDownList1.Text= }{}}{}}}}UPDATE語句對數據庫中的數據進行更改,示例代碼如下所示。protectedprotectedvoidButton1Click(objectsender,EventArgs{{stringstrsql="updatediarysettitle='"+TextBox1.Text+"',content='"+FCKeditor1.Value+"'hereid='"+Request.QueryString["id"]+ Response.Redirect("news?id="+}{Label3.Text="出現錯誤,請檢查日志 //拋出異}}UPDATE語句的執行就能夠執行更新,更新完成后可以跳轉userroot1HTML頁面的呈現,只需要進行相應的邏輯實現 protectedvoidPage_Load(objectsender,EventArgs {{if(Session["admin"]=={}{if(Session["admin"].ToString()=={stringstrsql="deletefromdiarywhereid='"+Request.QueryString["id"]+ }{Response.Redirect("errors/cdelete.aspx?id="+}}}HTML代碼基本同日志發布頁面相同,而各個模塊根據其顯示的效果而不同。HTML代碼見光盤中源代碼\29章\29-1\29-1\shownew.aspx。DataListSqlDataSourceidHTML代碼見光盤中源代碼\29章\29-1\29-1\shownew.aspx。HTML格式輸出。當用戶閱讀日志后并希望能夠章\29-1\29-1\shownew.aspx。當用戶填寫完成標題和內容后就能夠通過按鈕控件進行評論的提交,評論protectedprotectedvoidButton1_Click(objectsender,EventArgs{stringstrsql="insertintodiarygbook(title,time,content,userid,diaryid)values Response.Redirect("shownew.aspx?id="+Request.QueryString["id"]);}而且校友和管理員都能夠進行用戶索引的查看用戶索引頁面HTML代碼見光盤中源代碼\第29protectedvoidPage_Load(objectprotectedvoidPage_Load(objectsender,EventArgs{if(Session["admin"]=={}{if(Session["admin"].ToString()=={////stringstrsql="deletefromdiarywhereuserid='"+Request.QueryString["uid"]+stringstrsql1deletefromdiarygbookwhereuserid='"Request.QueryString["uidstringstrsql2="deletefromregisterwhereid='"+Request.QueryString["uid"]+"'"; // }{Response.Redirect("errors/cdelete.aspx?id="+}}}超樣式優超樣式是用戶體驗優化中一個非常簡單卻非常重要的部分。超顯示著不同連接之間的樣式,用戶能夠通過超進行跳轉。單擊【F5】快捷鍵運行現有的應用程序,如圖29-17所示。29-17{text-decoration:none;color:#3b5888;}{text-decoration:none;color:#3b5888;}{{text-decoration:none;color:#3b5888;}{text-decoration:none;color:#3b5888;}{text-decoration:none;color:#3b5888;} 鼠標移動樣式{{background:}上述代碼使用了超文本控制樣式進行樣式控制其中包括了a:linka:activea:visited和a:hover。.main.mainright{text-decoration:none;color:#3b5888;}.mainright{text-decoration:none;color:#3b5888;}.mainright{text-decoration:none;color:#3b5888;}.mainright{}main_right是樣式表中用于控制側邊欄的樣式。在校友錄系統中,系統希望右側的邊欄的超樣在定義了一個全局超文本樣式后,全局的超文本樣式都會被更改成全局樣式,如圖29-所示。而局部定義的超文本樣式會被局部樣式覆蓋,如圖29-19所示圖29-18全局樣 圖29-19局部樣publicpartialclassdefault:{protectedpublicpartialclassdefault:{protectedvoidPageLoad(objectsender,EventArgs{}}Web系統時,通常需要通過導航欄進行應用程序功能的查找。校友錄系統的導航欄同樣需要編寫事務邏輯判斷以便不同權限的用戶查看的信息是不相同普通校友:該用戶是普通校友,該用戶能夠進行日志的和用戶信息的索引js相同的功能的實現。js文件示例代碼如下所示。if(Session["admin"].ToString()=={.write('<divstyle="margin:5px5px5px5px;padding:5px5px5px5px;border:1pxdashed.write('<imgalt=""src="../images/groups.png"style="width:16px;height:16px"你好Response.Write(Session["username"].ToString<imgalt=""src="../images/gift.png"style="width:16px;height:16px"/>你 <ahref="admin/default.aspx"><spanstyle="color:Red">管理員 .write('<br/><imgalt=""src="../images/list.png"style="width:16px;height:16px"<ahref="../logout.aspx">注銷 }{.write('<divstyle="margin:5px5px5px5px;padding:5px5px5px5px;border:1pxdashed.write('<imgalt=""src="../images/groups.png"style="width:16px;height:16px"你好:<%Response.Write(Session["username"].ToString());%><br/><imgalt=""src="../images/gift.png"style="width:16px;height:16px"/>你的 是<spanstyle="color:Red">普通用戶</span>& .write('<br/><img.write('<br/><imgalt=""src="../images/list.png"style="width:16px;height:16px"<ahref="../logout.aspx">注銷 }29-2029-2129-20用戶信息導航欄29-21<div<divclass="main<scriptsrc="js/banner.aspx"jsjs導航信息。js導航并不局限于頁面或功能的導航,在很多情況下,js導航還能夠制作用戶控制面板頁頭頁尾等通用模塊、、、、用模塊的編寫,這樣不僅能夠在多個頁面中使用,也方便了系統的。但如果在中大量的使用頁面進行邏輯判斷,也可能會造能問題AJAXAJAX進行無刷新實現,示例代碼見光盤中源代碼\第29章\29-1\29-1\shownew.aspx。碼\29章\29-1\29-1\shownew.aspx中數據源的配置。AJAX應用中也是非常重要的。當用AJAX進行頁面局部更新就不需要DataBind方法進行數據綁定,示例代碼如下所示。protectedprotectedvoidButton1Click(objectsender,EventArgs{stringstrsql="insertintodiarygbook(title,time,content,userid,diaryid)valuesstringstrsql="insertintodiarygbook(title,time,content,userid,diaryid)values DataList2.DataSourceID=}DataBind方法進行數據重綁定。當執行了數據重綁定后,數據綁定控件將能夠直29-22所示。29-22TextBox1.TextTextBox1.Text=TextBox2.Text=ASP.NETAJAX的封裝,AJAXAJAXAJAX同樣,在Web應用程序中也可以使用表情,最常見的就是、博客和評論了,如圖29-24所示。在校友錄系統中,只有正文能夠使用表情,而該表情是通過Fckeditor進行實現的。為了讓校友錄系統C#js共同實現表情功能。 圖29-23QQ表 圖29- 應用表

29-2529-25所示,微笑的表情是字符“”。當用戶單擊【笑臉】表情時,首先笑臉表情會轉義成字符串“:)”呈現在文本框控件中。表情可以使用按鈕控件進行呈現,當單擊相應的【表情】按JavaScript進行按鈕控件的模擬。項,在彈出菜單中選擇【JScript29-26所示。29-26新建JScriptfunction{varstr=} function{varstr=} ;JavaScript創建了一個添加表情函數,其過程非常簡單。該函數擁有一個參數,這查找后會將傳遞的字符串添加到相應的文本框控件中。編寫了函數后就需要在頁面中進行函數的, <scriptsrc="js/JScript1.js" 上述代碼了一個JavaScript頁面的,當了該JavaScript頁面后,該頁面的就能夠使用該頁面提供的函數。在表情的呈現過程中,使用控件或按鈕控件都是不合適的,這里可以直接使用HTML并通過使用add_s函數實現表情,示例代碼如下所示。<img<img<img<img<img<img<img<img<img<img/0.gif" /1.gif" /2.gif" /3.gif" /4.gif" /5.gif" /6.gif" /7.gif" /8.gif" 上述代碼呈現了若干表情,并編寫了HTML控件的onclick。該通過傳遞參數添加到文本框控件中。例如當單擊URL路徑為“s/0.gif”的時,會觸發add_s(‘:)’),該會傳遞一個“:)TextBox229-27所示。

29-27會以表情的形式呈現,如果需要以表情的形式呈現,在執行數據插入前,還需要將表情轉換成HTML代碼,代碼如下所示。publicstring(object{stringdata=data=;",//data=ce(""",//data=ce("&qapos;",//data=ce("<",//data=ce(">",//data=ce(":o)","<img/13.gif\"ale=\"大笑 //替換data=ce(":)","<img.gif\"ale=\"我得意的笑 //替換data=ce(":s","<img.gif\"ale=\"委屈的很 //替換data=ce(":>","<img/2.gif\"的笑 //替換data=ce(":-)","<img/3.gif\"ale=\"啊哦..嗚嗚 //替換data=ce(":->","<img/4.gif\"ale=\"嘿嘿 //替換data=ce(":<","<img/5.gif\"ale=\"我哭哭了 //替換data=ce(";)","<img.gif\"ale=\"媚眼 //替換data=ce(":o","<img/7.gif\"ale=\"有點小小的驚訝 //替換data=ce(":zz","<img/8.gif\"ale=\"睡覺覺咯 //替換data=ce(":(","<img.gif\"ale=\"大哭特哭 //替換data=ce(":..","<img/10.gif //data=ce(":xx","<img/11.gif\"ale=\"我惱火的很 //替換data=ce(":p","<img/12.gif\"ale=\"笑笑 //替換data=ce(":ma","<img/14.gif\"ale=\"驚訝 //替換}return上述代碼將相應的字符串進行轉換,從而呈現相應的表情的HTML。例如“:)”字符串會在應用程序執行時被替換成字符串“<imgsrc=\"s/0.gif\"ale=\"我得意的笑\"/>”。當頁面呈現時,該字HTMLstringstringstrsql"insertintodiarygbook(title,time,content,userid,diaryidvaluesTextBox1.TextDateTime.Now+"','"+opFormats (TextBox2.Text)+"','"+Session["userid"].ToString()+"','"+Request.QueryString["id"]+"')"; //SQL上述代碼在插入數據前使用了 HTML29-2829-28用戶進行管理的嘗試,還為管理員提供了統一的管理界面和管理工具,管理員能夠在管理制作。在制作框架集之前首先需要確定框架的作用,這里可以創建一個【橫幅和】形式的框架用于29-29所示。29-2929-29中可以看出,這三個串口分別位于主窗口的上方、下方左側和下方右側。這里分別命名為head.aspx、left.aspx和center.aspx并將框架集保存為<body<bodystyle="background:whiteurl('images/bg.png')repeat-<p><imgalt=""height="96"src="images/logo.png"width="379"理和操作,可以在側邊欄使用TreeView控件進行導航,示例代碼見光盤中源代碼第29其中,頁面代碼編寫了一個TreeView控件用于系統的導航,TreeView控件包括管理首頁、日日志管理:包括日志的修改和刪除,管理員能夠在管理日志并進行日志的刪除操作用戶管理:用戶管理包括用戶的修改、信息的修改以及用戶的刪除在確定了基本的管理模塊后就可以針對管理模塊進行頁面的開發雖然管理員能夠臺頁面進行日志的管理操作,但是前臺的操作畢竟十分有限,在管理頁面<asp:HyperLinkFieldDataNavigateUrlFields="id"DataNavigateUrlFormatString="dmodi.aspx?id={0Text="修改"><ItemStyleWidth="25px"<asp:HyperLinkFieldDataNavigateUrlFields="id"DataNavigateUrlFormatString="dmodi.aspx?id={0Text="修改"><ItemStyleWidth="25px"<asp:HyperLinkFieldDataNavigateUrlFields="id"DataNavigateUrlFormatString="del.aspx?id={0Text="刪除"><ItemStyleWidth="25px"上述代碼只是GridView控件的一部分,用于呈現自定義修改超和刪除超。在代碼中,系系統會跳轉到dmodi.aspxdmodi.aspx頁面進行數據的修改和更新。當管理員單擊【刪除】超時,系統會刪除相應的信息。<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ConnectionStrings:friendsConnectionString%>"mand="SELECT*FROM[diary]ORDERBY[id]上述代碼只使用了SqlDataSource控件的 mand屬性進行數據的呈現,如圖29-30所示,29-30另外,管理員在修改日志時具備比前臺修改的權限,包括前臺不能夠修改的字段,管理員也能夠在管理頁面中的日志修改可以修改不同的用戶、不同的字段,相比之下,從進行日志修改能夠更加方便的進行多個字段的修改,日志修改頁面HTML代碼見光盤中源代碼\第29臺頁面中,管理員能夠修改用戶的基本信息,但是無法修改用戶日志的和閱讀次數。在系統中,管理員能夠修改用戶日志的以便能夠修正用戶的日志信息。另外,管理員還能夠修改閱讀次數,示例代碼見光盤中源代碼\29章\29-1\29-1\admin\dmodi.aspx。<td<FCKeditorV2:FCKeditorID="FCKeditor1"runat="server"<td<FCKeditorV2:FCKeditorID="FCKeditor1"runat="server"protectedprotectedvoidButton1Click(objectsender,EventArgs{{stringstrsql="updatediarysettitle='"+TextBox1.Text+"',content='"+FCKeditor1.Value+"',time='"+TextBox2.Text+"',hits='"+TextBox3.Text+"'whereid='"+Request.QueryString["id"]+ }{Label3.Text="出現錯誤,請檢查日志 //提示異常信}}protectedprotectedvoidPage_Load(objectsender,EventArgs{stringstrsql"deleteformdiarygbookwherediaryid='"+Request.QueryString["id"]+"'";//刪除評論stringstrsql1="deletefromdiarywhereid='"+Request.QueryString["id"]+"'"; ////////}評論刪除功能的實現非常簡單,可以直接使用系統數據源控件提供的刪除功能即可實現評論的刪除。示例代碼見光盤中源代碼\9章\29129admn\gange.apx。GridViewSQL語句,示例代碼見光盤中源代碼\29章\29-1\29-1\admin\gmanage.aspx中數據源的配置。SQL語句的生成。當數據綁定控件執行了刪除操作時,會觸發數據源控件的mand屬性進行數據刪除。txtjstxt是若干字符而已,最多顯示一些,所以板報只需要打開txt文件進行文件內容的增刪即可。當板報txt文本文件的內容,示例代碼如下所示。protectedprotectedvoidPage_Load(objectsender,EventArgs{if{{StreamReaderaw=File.OpenText(Server.MapPath("banbao.txt"));TextBox1.Text=aw.ReadToEnd();}{TextBox1.Text="公告文本文 錯誤}}}protectedvoidButton1Click(objectsender,EventArgs{StreamWritersw1=File.CreateText(Server.MapPath("banbao.txt"));protectedvoidButton1Click(objectsender,EventArgs{StreamWritersw1=File.CreateText(Server.MapPath("banbao.txt"));}////////<%@Page AutoEventWireup="true"AutoEventWireup="true"CodeBehind="banbao.aspx.cs"Inherits="291.js.banbao".write('<%Response.Write(str);publicpartialclassbanbao:publicpartialclassbanbao:{publicstringstr=protectedvoidPage_Load(objectsender,EventArgs{{ StreamReaderaw=File.OpenText(Server.MapPath("../admin/banbao.txt"));str=//}{str="暫時沒有任何公告 //拋出異}}} 是,由于該js文件保存在根 的js文件夾下,所以文本的路徑也應該隨之改變。如果無法<divclass="mainboard<divclass="mainboard<scriptsrc="js/banbao.aspx"JavaScript形式呈現數據時,要過濾“’JavaScript無法顯示某些關鍵protectedvoidPageLoad(objectsender,EventArgsprotectedvoidPageLoad(objectsender,EventArgs{if{stringstr="select*fromregisterwhereid='"+Request.QueryString["id"]+"'";SqlDataReaderda=SQLHelper.SQLHelper.ExecReader(str);while{Label1.Text=da["username"].ToString();TextBox2.Text=da["password"].ToString();////DropDownList1.Text= //////TextBox3.Text=da["picture"].ToString();TextBox4.Text=da["im"].ToString();TextBox5.TextTextBox3.Text=da["picture"].ToString();TextBox4.Text=da["im"].ToString();TextBox5.Text=da["information"].ToString();TextBox6.Text=}}}protectedprotectedvoidButton1_Click(objectsender,EventArgs{if{//stringstr="updateregister ='"+DropDownList1.Text+"',picture='"+TextBox3.Text"',im='"+TextBox4.Text+"',information='"+TextBox5.Text+"',others='"+TextBox6.Text+"'whereid='"+Request.QueryString["id"]+"'"; //SQL//SQL}{stringstr="updateregistersetpassword='"+TextBox2.Text+"', DropDownList1.Text"',picture='"+TextBox3.Text+"',im='"+TextBox4.Text+"',information='"+TextBox5.Text+"',others='"+TextBox6.Text+"'whereid='"+Request.QueryString["id"]+"'";//SQL語句 //SQL}},protectedprotectedvoidPageLoad(objectsender,EventArgs{stringstrsql1=“deletefromdiarygbookwhereuserid='"+Request.QueryString["uid"]+"'”;stringstrsql2="deletefromdiarywhereuserid='"+Request.QueryString["uid"]+"’";stringstrsql3="deletefromregisterwhereid='"+Request.QueryString["uid"]+ }protectedvoidprotectedvoidPage_Load(objectsender,EventArgs{stringstrsql1="deletefromdiarygbook,diary,registerwherediarygbook.userid=diary.useridanddiarygbook.userid=register.idanddiarygbook.use

溫馨提示

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

評論

0/150

提交評論