動(dòng)態(tài)網(wǎng)站交互設(shè)計(jì)課件_第1頁(yè)
動(dòng)態(tài)網(wǎng)站交互設(shè)計(jì)課件_第2頁(yè)
動(dòng)態(tài)網(wǎng)站交互設(shè)計(jì)課件_第3頁(yè)
動(dòng)態(tài)網(wǎng)站交互設(shè)計(jì)課件_第4頁(yè)
動(dòng)態(tài)網(wǎng)站交互設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)徐延章編著第11章動(dòng)態(tài)網(wǎng)站交互設(shè)計(jì)

——ASP.NET基本對(duì)象第11章動(dòng)態(tài)網(wǎng)站交互設(shè)計(jì)

——ASP.NET基本對(duì)象ASP.NET的工作原理是客戶端向服務(wù)器端發(fā)送請(qǐng)求信息,服務(wù)器接收請(qǐng)求后,解析用戶請(qǐng)求的頁(yè)面并發(fā)送給客戶端。在這一過(guò)程中,服務(wù)器需要讀取客戶端在Web請(qǐng)求期間發(fā)送的HTTP值,服務(wù)器也需要將相應(yīng)的信息發(fā)送回客戶端。因此,僅僅使用控件就不能解決這些問(wèn)題,這時(shí)便需要使用ASP.NET提供的基本對(duì)象。ASP.NET提供的基本對(duì)象主要有Request對(duì)象、Response對(duì)象、Session對(duì)象、Application對(duì)象和Server對(duì)象。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo第11章動(dòng)態(tài)網(wǎng)站交互設(shè)計(jì)

——ASP.NET基本對(duì)象動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社11.1用Response對(duì)象實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)111.2用Request對(duì)象獲取用戶請(qǐng)求211.3用Session對(duì)象記錄用戶個(gè)人信息311.4用Application對(duì)象為所有用戶共享信息411.5用Server對(duì)象對(duì)信息編碼511.6用Page對(duì)象實(shí)現(xiàn)頁(yè)面加載22CompanyLogo11.1.1Response對(duì)象概述Response對(duì)象封裝了來(lái)自ASP.NET操作的HTTP響應(yīng)信息,可用于將HTTP響應(yīng)信息發(fā)送到客戶端。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社Response對(duì)象名稱說(shuō)明屬性Buffer指示是否緩沖輸出,并在完成處理整個(gè)響應(yīng)之后將其發(fā)送Cache獲取網(wǎng)頁(yè)的緩存策略(過(guò)期時(shí)間、保密性、變化子句)ContentType獲取或設(shè)置輸出流的HTTPMIME類(lèi)型,如“image/jpeg”、“text/html”。默認(rèn)值為“text/html”Cookies獲取響應(yīng)Cookie集合Expires獲取或設(shè)置在瀏覽器上緩存的頁(yè)過(guò)期之前的分鐘數(shù)。如果用戶在頁(yè)面過(guò)期之前返回該頁(yè),則顯示緩存版本IsClientConnected指示客戶端是否仍連接在服務(wù)器上Output啟用到輸出HTTP響應(yīng)流的文本輸出OutputStream啟用到輸出HTTP內(nèi)容主體的二進(jìn)制輸出方法Clear清除緩沖區(qū)流中的所有內(nèi)容輸出Flush向客戶端發(fā)送當(dāng)前所有緩沖的輸出Redirect將客戶端重定向到新的URLEnd當(dāng)前所有緩沖的輸出發(fā)送到客戶端,停止該頁(yè)的執(zhí)行Write將信息寫(xiě)入HTTP響應(yīng)輸出流CompanyLogo11.1.2向網(wǎng)頁(yè)輸出信息首先新建網(wǎng)站myaspnet-3,雙擊默認(rèn)的網(wǎng)頁(yè)Default.aspx空白部分。編寫(xiě)Page_Load事件代碼如下:protectedvoidPage_Load(objectsender,EventArgse){Response.Write("歡迎訪問(wèn)本站");//向網(wǎng)頁(yè)輸出信息}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.1.2向網(wǎng)頁(yè)輸出信息調(diào)試該頁(yè)面,顯示如圖所示。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.1.3頁(yè)面跳轉(zhuǎn)雙擊跳轉(zhuǎn)網(wǎng)頁(yè)按鈕,進(jìn)入代碼視圖,修改Button1_Click事件代碼如下。protectedvoidButton1_Click(objectsender,EventArgse){Response.Redirect("Default.aspx");//跳轉(zhuǎn)}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.1.3頁(yè)面跳轉(zhuǎn)調(diào)試該網(wǎng)頁(yè),單擊跳轉(zhuǎn)網(wǎng)頁(yè)按鈕,網(wǎng)頁(yè)轉(zhuǎn)到Default.aspx網(wǎng)頁(yè)顯示歡迎信息,如圖所示。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.2用Request對(duì)象獲取用戶請(qǐng)求Request對(duì)象的作用是與客戶端交互,通過(guò)Request對(duì)象能夠獲得客戶端發(fā)送給服務(wù)器的信息,提供對(duì)當(dāng)前頁(yè)請(qǐng)求的訪問(wèn),包括客戶端的請(qǐng)求的信息、查詢字符串以及IP地址等。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.2.2獲取客戶端IP地址新建網(wǎng)頁(yè)requestip.aspx,在網(wǎng)頁(yè)設(shè)計(jì)視圖中放置一個(gè)Label控件。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.2.2獲取客戶端IP地址雙擊網(wǎng)頁(yè)空白處,進(jìn)入網(wǎng)頁(yè)代碼視圖,編寫(xiě)Page_Load事件代碼如下:protectedvoidPage_Load(objectsender,EventArgse){Stringstruserip=Request.UserHostAddress.ToString();//獲取客戶端IP地址Stringstrip=struserip.Substring(0,7);//獲取IP地址前7位if(strip=="192.168")//判斷IP是否局域網(wǎng)IPLabel1.Text="您的IP地址是:"+struserip+",您是內(nèi)部網(wǎng)絡(luò)用戶";elseLabel1.Text="您的IP地址是:"+struserip+",你不是合法用戶";}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.2.2獲取客戶端IP地址調(diào)試程序,界面顯示如圖所示。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.2.3獲取客戶端請(qǐng)求雙擊“提交”按鈕,設(shè)計(jì)提交信息的代碼如下:protectedvoidButton1_Click(objectsender,EventArgse){Stringstrusername=TextBox1.Text;//獲取用戶輸入的信息//用?name=將目標(biāo)網(wǎng)頁(yè)與用戶輸入信息連接//request2.aspx為目標(biāo)網(wǎng)頁(yè),這里還沒(méi)有建立,后面進(jìn)行設(shè)計(jì)Stringstrurl="request2.aspx?name="+strusername;Response.Redirect(strurl);//轉(zhuǎn)向目標(biāo)網(wǎng)頁(yè)}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.2.3獲取客戶端請(qǐng)求新建網(wǎng)頁(yè)request2.aspx,拖動(dòng)一個(gè)Label控件到頁(yè)面中,如圖所示。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.2.3獲取客戶端請(qǐng)求雙擊request2.aspx網(wǎng)頁(yè),進(jìn)入代碼網(wǎng)頁(yè),在Page_Load事件中進(jìn)行設(shè)計(jì)代碼如下:

protectedvoidPage_Load(objectsender,EventArgse){if(Request.QueryString["name"]==null)//判斷是否有查詢字符串Label1.Text="您沒(méi)有向網(wǎng)頁(yè)提交信息,請(qǐng)返回該頁(yè)";//顯示錯(cuò)誤信息elseLabel1.Text="歡迎您,"+Request.QueryString["name"].ToString();//顯示查詢字符串}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.3用Session對(duì)象記錄用戶個(gè)人信息Session對(duì)象是一個(gè)集合,其作用是在服務(wù)器端存儲(chǔ)特定信息,Session對(duì)象只針對(duì)單一網(wǎng)站使用者,不同的客戶端無(wú)法互相訪問(wèn)。當(dāng)瀏覽者關(guān)閉瀏覽器或超過(guò)設(shè)定的Session對(duì)象的有效時(shí)間時(shí),Session對(duì)象就會(huì)失效,因此要注意Session對(duì)象的生命周期的設(shè)置。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.3.1Session對(duì)象概述Session對(duì)象用于在服務(wù)器端為用戶存儲(chǔ)信息,支持跨頁(yè)面提取信息,可以認(rèn)為是為每個(gè)客戶端設(shè)置的全局變量,Session對(duì)象存儲(chǔ)的信息是局部的,是針對(duì)某個(gè)特定用戶的。Session對(duì)象保存的信息持續(xù)到用戶會(huì)話結(jié)束,在用戶會(huì)話期間,如果用戶從一個(gè)頁(yè)面跳轉(zhuǎn)到另一個(gè)頁(yè)面,Session對(duì)象中的信息不會(huì)丟失,可以取出來(lái)使用。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社Session對(duì)象名稱說(shuō)明屬性SessionID獲取會(huì)話的唯一標(biāo)識(shí)符Timeout獲取和設(shè)置Session的生命周期,默認(rèn)值為“20分鐘”方法Add向會(huì)話狀態(tài)集合添加一個(gè)新項(xiàng)Remove刪除會(huì)話狀態(tài)集合中的項(xiàng)RemoveAt刪除會(huì)話狀態(tài)集合中指定索引處的項(xiàng)CompanyLogo11.3.2記錄用戶信息新建一個(gè)文件session.aspx,在設(shè)計(jì)視圖中拖入兩個(gè)TextBox文本框控件(用戶名和密碼),一個(gè)Button按鈕控件,修改密碼文本框?qū)傩訲extMode為password,修改Button控件屬性Text為登錄,設(shè)計(jì)用戶登錄界面。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.3.2記錄用戶信息新建文件session2.aspx,在設(shè)計(jì)視圖中拖入一個(gè)Label控件,用于顯示用戶登錄后的信息。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.3.2記錄用戶信息雙擊頁(yè)面空白處,進(jìn)入代碼視圖,編寫(xiě)Page_Load代碼程序:protectedvoidPage_Load(objectsender,EventArgse){if(Session["username"]==null)//判斷session是否存在Label1.Text="請(qǐng)您從session.aspx網(wǎng)頁(yè)登錄";//顯示錯(cuò)誤信息else{Stringstrusername=Session["username"].ToString();//獲取session對(duì)象username的值Label1.Text="歡迎"+strusername+"訪問(wèn)本站";//顯示歡迎信息}}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.3.3配置Session對(duì)象的生命周期設(shè)置生命周期為30分鐘的Session對(duì)象,并且使用工作進(jìn)程自身保存會(huì)話狀態(tài),可以打開(kāi)“Web.config”文件,在<system.web>后面添加下面的代碼:<sessionStatemode="InProc"timeout="30"></sessionState>動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.4用Application對(duì)象為所有用戶共享信息Application對(duì)象與Session對(duì)象的作用十分相似,都是在服務(wù)器端保存會(huì)話信息的對(duì)象,但與Session對(duì)象的不同之處在于Application對(duì)象是一個(gè)共有對(duì)象,所有用戶都可以對(duì)某個(gè)特定的Application對(duì)象的值進(jìn)行修改,即Session對(duì)象是用戶專用,而Application對(duì)象是用戶共享。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.4.1Application對(duì)象概述Appliction對(duì)象供所有用戶存取信息,即成為所有用戶的公共變量。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社Application對(duì)象名

稱說(shuō)

明方法Add向HttpApplicationState集合中添加新的對(duì)象Remove從HttpApplicationState集合中移除對(duì)象Lock鎖定對(duì)HttpApplicationState變量的訪問(wèn),使訪問(wèn)同步UnLock取消鎖定事件Start應(yīng)用程序啟動(dòng)時(shí)觸發(fā)(在Session_Start事件之前)End應(yīng)用程序結(jié)束時(shí)觸發(fā)(在Session_End事件之后)CompanyLogo11.4.2Global.asax文件的使用下面設(shè)計(jì)一個(gè)能統(tǒng)計(jì)在線人數(shù)的web程序。當(dāng)用戶打開(kāi)網(wǎng)頁(yè)或離開(kāi)頁(yè)面時(shí)人數(shù)能夠更新。在解決方案資源管理器中,單擊右鍵,選擇添加新項(xiàng),選擇全局應(yīng)用程序類(lèi)Global.asax。設(shè)計(jì)指導(dǎo):Global.asax是網(wǎng)站的全局配置文件,可以用來(lái)設(shè)置網(wǎng)站的全局變量,是一個(gè)可選的文件,并不像Web.config文件一樣在創(chuàng)建站點(diǎn)時(shí)自動(dòng)生成,需要手動(dòng)添加。該文件中自動(dòng)建立了Application和Session對(duì)象的Start和End事件。我們可以完善其中的代碼,以實(shí)現(xiàn)計(jì)數(shù)初始值,計(jì)數(shù)增加和計(jì)數(shù)減少的功能。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.4.3在線人數(shù)統(tǒng)計(jì)Application對(duì)象的Start事件代碼編寫(xiě)如下:voidApplication_Start(objectsender,EventArgse){//在應(yīng)用程序啟動(dòng)時(shí)運(yùn)行的代碼Application["numonline"]=0;//設(shè)置程序啟動(dòng)時(shí)初始人數(shù):0}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.4.3在線人數(shù)統(tǒng)計(jì)Session對(duì)象的Start事件代碼編寫(xiě)如下:

voidSession_Start(objectsender,EventArgse){//在新會(huì)話啟動(dòng)時(shí)運(yùn)行的代碼//鎖定Application對(duì)象,防止同一時(shí)刻被多人同時(shí)修改Application.Lock();//獲取Application中存儲(chǔ)的人數(shù),進(jìn)行數(shù)值轉(zhuǎn)換后加1intintnum=Int32.Parse(Application["numonline"].ToString())+1;

Application["numonline"]=intnum;//重新存儲(chǔ)人數(shù)信息Application.UnLock();//解除鎖定,使別人能夠修改}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.4.3在線人數(shù)統(tǒng)計(jì)Session對(duì)象的End事件代碼編寫(xiě)如下:voidSession_End(objectsender,EventArgse){//在會(huì)話結(jié)束時(shí)運(yùn)行的代碼。//注意:只有在Web.config文件中的sessionstate模式設(shè)置為//InProc時(shí),才會(huì)引發(fā)Session_End事件。如果會(huì)話模式//設(shè)置為StateServer或SQLServer,則不會(huì)引發(fā)該事件。//鎖定Application對(duì)象,防止同一時(shí)刻被多人同時(shí)修改Application.Lock();//獲取Application中存儲(chǔ)的人數(shù),進(jìn)行數(shù)值轉(zhuǎn)換后減1intintnum=Int32.Parse(Application["numonline"].ToString())-1;Application["numonline"]=intnum;//重新存儲(chǔ)人數(shù)信息Application.UnLock();//解除鎖定,使別人能夠修改}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.4.3在線人數(shù)統(tǒng)計(jì)新建application.aspx文件,在設(shè)計(jì)視圖中放置一個(gè)Label控件用以顯示在線人數(shù)。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.4.3在線人數(shù)統(tǒng)計(jì)雙擊頁(yè)面空白部分,進(jìn)入代碼視圖,編寫(xiě)Page_Load事件代碼如下:protectedvoidPage_Load(objectsender,EventArgse){//獲取Application數(shù)據(jù)Label1.Text="當(dāng)前在線人數(shù):"+Application["numonline"].ToString();Response.AddHeader("Refresh","30");//設(shè)置頁(yè)面30秒刷新一次}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.4.3在線人數(shù)統(tǒng)計(jì)調(diào)試程序,運(yùn)行界面如圖所示。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5用Server對(duì)象對(duì)信息編碼Server對(duì)象的作用是訪問(wèn)有關(guān)服務(wù)器的屬性和方法,用于訪問(wèn)服務(wù)器上的資源,常用于對(duì)信息進(jìn)行編碼和解碼、獲取服務(wù)器文件物理路徑等。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.1Server對(duì)象概述Server對(duì)象提供了用于訪問(wèn)服務(wù)器的屬性和方法,處理Web請(qǐng)求。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼有些情況下我們希望將輸出信息中包含HTML標(biāo)記的符號(hào)直接顯示出來(lái),如<Br>,而事與愿違,顯示的結(jié)果是換行,因此,需要對(duì)信息進(jìn)行編碼處理,從而使其正確地顯示在頁(yè)面中。另外,用戶可能通過(guò)留言本、論壇等輸入HTML代碼,進(jìn)行跨站點(diǎn)的腳本攻擊和顯示惡意內(nèi)容??梢酝ㄟ^(guò)Server對(duì)象的HtmlEncode方法和HtmlDecode方法來(lái)對(duì)在瀏覽器中顯示的字符串進(jìn)行編碼來(lái)解決上述問(wèn)題;使用UrlEncode和UrlDecode方法對(duì)URL字符串進(jìn)行編碼和解碼。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼新建server.aspx文件,在設(shè)計(jì)視圖中放置兩個(gè)TextBox控件,修改TextMode屬性為MultiLine,調(diào)整其大小,拖動(dòng)一個(gè)Label控件用以顯示編碼解碼的信息,四個(gè)Button控件,分別為Html編碼、Html解碼、Url編碼、Url解碼。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼雙擊按鈕“Html編碼”,進(jìn)入代碼視圖,編寫(xiě)代碼如下:

protectedvoidButton1_Click(objectsender,EventArgse){//將TextBox1中的內(nèi)容進(jìn)行Html編碼顯示在TextBox2中,查看編碼情況TextBox2.Text=Server.HtmlEncode(TextBox1.Text);//將TextBox1中的內(nèi)容進(jìn)行Html編碼顯示在Label1中,測(cè)試網(wǎng)頁(yè)文本顯示效果Label1.Text=Server.HtmlEncode(TextBox1.Text);}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼雙擊按鈕“Htm解碼”,進(jìn)入代碼視圖,編寫(xiě)代碼如下:

protectedvoidButton2_Click(objectsender,EventArgse){//將TextBox2中的內(nèi)容進(jìn)行Html解碼顯示在TextBox1中,查看解碼情況TextBox1.Text=Server.HtmlDecode(TextBox2.Text);//將TextBox2中的內(nèi)容進(jìn)行Html解碼顯示在Label1中,測(cè)試網(wǎng)頁(yè)文本解碼顯示效果Label1.Text=Server.HtmlDecode(TextBox2.Text);}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼雙擊按鈕“Url編碼”,進(jìn)入代碼視圖,編寫(xiě)代碼如下:

protectedvoidButton3_Click(objectsender,EventArgse){//將TextBox1中的內(nèi)容進(jìn)行Url編碼顯示在TextBox2中,查看編碼情況TextBox2.Text=Server.UrlEncode(TextBox1.Text);//將TextBox1中的內(nèi)容進(jìn)行Url編碼顯示在Label1中,測(cè)試網(wǎng)頁(yè)文本顯示效果Label1.Text=Server.UrlEncode(TextBox1.Text);}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼雙擊按鈕“Url解碼”,進(jìn)入代碼視圖,編寫(xiě)代碼如下:

protectedvoidButton4_Click(objectsender,EventArgse){//將TextBox2中的內(nèi)容進(jìn)行Url解碼顯示在TextBox1中,查看解碼情況TextBox1.Text=Server.UrlDecode(TextBox2.Text);//將TextBox2中的內(nèi)容進(jìn)行Url解碼顯示在Label1中,測(cè)試網(wǎng)頁(yè)文本解碼顯示效果Label1.Text=Server.UrlDecode(TextBox2.Text);}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼調(diào)試程序,在左側(cè)文本框TextBox1中輸入一段表示Html按鈕的代碼如下:<inputtype="submit"name="Button1"value="Html編碼"id="Button1"/>動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼單擊按鈕“Html編碼”,顯示如圖所示的錯(cuò)誤信息界面。從客戶端(TextBox1=inputtype=submit...)中檢測(cè)到有潛在危險(xiǎn)的Request.Form值。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼網(wǎng)頁(yè)顯示說(shuō)明:請(qǐng)求驗(yàn)證過(guò)程檢測(cè)到有潛在危險(xiǎn)的客戶端輸入值,對(duì)請(qǐng)求的處理已經(jīng)中止。該值可能指示危及應(yīng)用程序安全的嘗試,如跨站點(diǎn)的腳本攻擊。通過(guò)在Page指令或配置節(jié)中設(shè)置validateRequest=false可以禁用請(qǐng)求驗(yàn)證。但是,在這種情況下,強(qiáng)烈建議應(yīng)用程序顯式檢查所有輸入。選擇網(wǎng)頁(yè)Html代碼視圖,在頁(yè)面聲明語(yǔ)句中添加“validateRequest="false"”,完整語(yǔ)句如下:<%@PageLanguage="C#"validateRequest="false"AutoEventWireup="true"CodeFile="server.aspx.cs"Inherits="server"%>動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼重新調(diào)試,輸入表示Html的編碼,單擊按鈕“Html編碼”,顯示結(jié)果如圖所示。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼刪除左側(cè)文本框的內(nèi)容,單擊按鈕“Html解碼”,界面如圖所示,我們發(fā)現(xiàn)在網(wǎng)頁(yè)中出現(xiàn)了兩個(gè)“Html編碼”按鈕,出現(xiàn)的第一個(gè)“Html編碼”按鈕便是由代碼解碼而形成的。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.2對(duì)信息編碼與解碼刪除左側(cè)文本框的內(nèi)容,輸入“張三”,單擊按鈕“Url編碼”,界面如圖所示,刪除左側(cè)文本框內(nèi)容,單擊按鈕“Url解碼”,界面如圖所示。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.3獲取服務(wù)器路徑為了訪問(wèn)存放在服務(wù)器上的某一文件或文件夾,需要將文件或文件夾的虛擬路徑轉(zhuǎn)換成服務(wù)器端對(duì)應(yīng)的物理路徑,MapPath方法可用來(lái)將虛擬路徑轉(zhuǎn)變?yōu)槲锢砺窂?。例如,連接數(shù)據(jù)庫(kù)或者上傳文件到服務(wù)器時(shí),就需要使用物理路徑。在解決方案管理器中右鍵單擊網(wǎng)站,添加文件夾“server”,新建網(wǎng)頁(yè)server2.aspx,放置三個(gè)Label控件。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.3獲取服務(wù)器路徑雙擊頁(yè)面空白處,進(jìn)入代碼視圖,編寫(xiě)代碼如下:protectedvoidPage_Load(objectsender,EventArgse){Label1.Text="當(dāng)前站點(diǎn)根路徑為:"+Server.MapPath("~/");Label2.Text="服務(wù)器上虛擬目錄server的物理路徑為:"+Server.MapPath("./server/");Label3.Text="當(dāng)前頁(yè)面的物理路徑為:"+Server.MapPath(Request.);}動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.5.3獲取服務(wù)器路徑調(diào)試程序代碼如圖所示。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.6用Page對(duì)象實(shí)現(xiàn)頁(yè)面加載Page對(duì)象提供了對(duì)當(dāng)前頁(yè)面的操作,可以認(rèn)為是當(dāng)前頁(yè)面的一個(gè)實(shí)例,通過(guò)Page對(duì)象可以判斷頁(yè)面加載的情況,是首次加載還是頁(yè)面回發(fā)重載。動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社CompanyLogo11.6.1Page對(duì)象概述Page對(duì)象用于操作整個(gè)頁(yè)面,常用的屬性和事件如下:動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程——美工與技術(shù)機(jī)械工業(yè)出版社Page對(duì)象名稱說(shuō)

明屬

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論