版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單元四項(xiàng)目的系統(tǒng)對(duì)象與數(shù)據(jù)傳遞主講教師:宋園園主要內(nèi)容內(nèi)容要點(diǎn)數(shù)據(jù)傳遞常用系統(tǒng)對(duì)象PageRequestResponseApplicationSessionServerCookies學(xué)習(xí)情境導(dǎo)入ASP.NET提供了內(nèi)置對(duì)象有Page、Request、Response、Application、Session、Server、Mail和Cookies。這些對(duì)象使用戶(hù)更容易收集通過(guò)瀏覽器請(qǐng)求發(fā)送的信息、響應(yīng)瀏覽器以及存儲(chǔ)用戶(hù)信息,以實(shí)現(xiàn)其他特定的狀態(tài)管理和頁(yè)面信息的傳遞。在Web應(yīng)用中,通常需要使用內(nèi)置對(duì)象進(jìn)行客戶(hù)端狀態(tài)的保存。這些內(nèi)置對(duì)象能夠?yàn)閃eb應(yīng)用程序的開(kāi)發(fā)提供設(shè)置,配置以及檢索等功能。服務(wù)器服務(wù)器域名URL,資源的名稱(chēng)
響應(yīng)這是HTTP請(qǐng)求這是HTTP響應(yīng)內(nèi)容要點(diǎn)注:本課內(nèi)容參考教材單元四工作任務(wù)專(zhuān)業(yè)知識(shí)能力重點(diǎn)難點(diǎn)社會(huì)能力與行業(yè)能力任務(wù)4-1Response對(duì)象的應(yīng)用掌握如何運(yùn)用ASP.NET網(wǎng)站頁(yè)面之間傳遞數(shù)據(jù),能夠熟練應(yīng)用到網(wǎng)站前臺(tái)后臺(tái)之中,理解ASP.NET運(yùn)行的原理。重點(diǎn)1.收集通過(guò)瀏覽器請(qǐng)求發(fā)送的信息;2.響應(yīng)瀏覽器以及存儲(chǔ)用戶(hù)信息;3.將用戶(hù)重新定向到另一個(gè)頁(yè)面;4.服務(wù)器端最基本的屬性和方法;5.記錄各客戶(hù)端的變量;6.為Web應(yīng)用程序保存訪問(wèn)者相關(guān)信息.任務(wù)4-2Session對(duì)象的應(yīng)用能夠通過(guò)Session存儲(chǔ)并獲取信息,并熟練應(yīng)用。重點(diǎn)任務(wù)4-3Cookie對(duì)象的應(yīng)用能夠利用Cookie存儲(chǔ)并獲取信息,并熟練應(yīng)用。重點(diǎn)任務(wù)4-4Application對(duì)象的應(yīng)用能夠利用Application存儲(chǔ)網(wǎng)站的全局變量,并熟練應(yīng)用難點(diǎn)任務(wù)4-5Server對(duì)象的應(yīng)用能夠利用Server控制服務(wù)器端的基本屬性方法,并熟練應(yīng)用.難點(diǎn)網(wǎng)頁(yè)間數(shù)據(jù)傳遞-ASP.NET中數(shù)值傳遞模型網(wǎng)頁(yè)間的數(shù)據(jù)傳遞兩種傳遞方式1.使用Form表單傳遞2.使用URL地址傳遞使用Form表單傳遞時(shí)的數(shù)據(jù)接收方法用Form屬性接收數(shù)據(jù)
Request.Form["控件名"]接收表單數(shù)據(jù)
使用查詢(xún)字符串在頁(yè)面間交換數(shù)據(jù)
查詢(xún)字符串定義:切換到另一個(gè)網(wǎng)頁(yè)時(shí)直接在網(wǎng)頁(yè)的URL后添加傳遞的參數(shù),第一個(gè)參數(shù)前用“?”將和網(wǎng)頁(yè)名稱(chēng)分隔開(kāi),參數(shù)之間用“&”分割,每個(gè)參數(shù)的形式為“變量名=值”,在另一個(gè)網(wǎng)頁(yè)中使用Request.QueryString[stringName]接受傳遞的參數(shù)。a.aspx?uid=tom&pwd=123在網(wǎng)頁(yè)a.aspx中用Request.QueryString["uid"]、Request.QueryString["pwd"]形式獲取。使用查詢(xún)字符串在頁(yè)面間交換數(shù)據(jù)例://查詢(xún)字符串傳值
stringstrQuery="zhuce.aspx?userName="+user+"&passWord="+pass;Response.Redirect(strQuery);
stringstrName=Request.QueryString["userName"].ToString();1.Response對(duì)象作用:將動(dòng)態(tài)生成的信息嵌入到HTML文檔中,然后發(fā)送到客戶(hù)端;緩沖輸出數(shù)據(jù);重定向?yàn)g覽器到另一個(gè)URL;向?yàn)g覽器輸出Cookie文件。其類(lèi)名為httpResponseResponse對(duì)象主要用于生成HTML內(nèi)容并送交瀏覽器。在編程實(shí)踐中,經(jīng)常用到Response對(duì)象的下列屬性:(1)ContentType屬性此屬性用來(lái)獲取或設(shè)置輸出流的HTTPMIME類(lèi)型,也就是Response對(duì)象向?yàn)g覽器輸出內(nèi)容的類(lèi)型,默認(rèn)值為text/html。ContentType的值為字符串類(lèi)型,格式為type/subtype,type表示內(nèi)容的分類(lèi),subtype表示特定內(nèi)容的。例句:
Response.ContentType=”image/gif”;
表示向?yàn)g覽器輸出的內(nèi)容為gif圖片。(2)IsClientConnected屬性:獲取一個(gè)值,通過(guò)該值指示客戶(hù)端是否仍連接在服務(wù)器上。例句:
if(Response.IsClientConnected)Response.Redirect(“e.aspx”,false);else…….Response對(duì)象常用屬性Response對(duì)象常用屬性BufferOutput:給出或設(shè)置是否啟用緩沖處理。當(dāng) Response.BufferOutput為T(mén)rue時(shí),服務(wù) 器將先完成對(duì)所有Response的處理,然后才將結(jié)果發(fā)送至瀏覽器。Charset: 給出或設(shè)置字符編碼方式。在編程實(shí)踐中,經(jīng)常用到Response對(duì)象的下列方法:ClearContext():清除所有存放在緩沖區(qū)中尚未發(fā)送到客戶(hù)端的輸出。Close():關(guān)閉與客戶(hù)端的連接。End():結(jié)束執(zhí)行ASP.NET網(wǎng)頁(yè),然后將緩沖區(qū)中的所有輸出發(fā)送到客戶(hù)端。Flush():將緩沖區(qū)中的所有輸出發(fā)送到客戶(hù)端,然后清空緩沖區(qū)。Redirect(URL):將瀏覽器重定向到地址為URL的網(wǎng)頁(yè)。WriteFile(filename):將指定的文件寫(xiě)入HTML文檔。Write(字符串表達(dá)式):將字符串表達(dá)式寫(xiě)入HTML文檔。
Response對(duì)象常用方法Response對(duì)象允許開(kāi)發(fā)人員對(duì)當(dāng)前頁(yè)面的輸出流進(jìn)行操作Response.對(duì)象Redirect方法Write方法Response.Write("Hello,ACCP");直接在頁(yè)面上輸出內(nèi)容重定向到另外一個(gè)頁(yè)面Response.Redirect("");使用Response向客戶(hù)端輸出信息2Request對(duì)象作用:將Request對(duì)象主要是讓服務(wù)器取得客戶(hù)端瀏覽器的一些數(shù)據(jù),包括從HTML表單用Post或者GET方法傳遞的參數(shù)、Cookie和用戶(hù)認(rèn)證。因?yàn)镽equest對(duì)象是Page對(duì)象的成員之一,所以在程序中不需要做任何的聲明即可直接使用。其類(lèi)名為HttpRequestRequest對(duì)象主要功能是從客戶(hù)端得到數(shù)據(jù)常用的兩種獲取數(shù)據(jù)的方法:
Request.FormRequest.QueryString其第三種是前兩種的一個(gè)縮寫(xiě),可以取代前兩種情況。而前兩種主要對(duì)應(yīng)的Form提交時(shí)的兩種不同的提交方式:分別是POST和GETRequest對(duì)象常用屬性和方法名稱(chēng)功能說(shuō)明Browser屬性獲取或設(shè)置一個(gè)值,該值指示是否緩沖輸出Cookies屬性獲取相應(yīng)Cookie集合Files屬性獲取或設(shè)置該頁(yè)在瀏覽器上緩存過(guò)期之前的分鐘數(shù)Form屬性獲取一個(gè)值,該值指示客戶(hù)端是否仍連接在服務(wù)器上QueryString屬性清除緩沖區(qū)中的所有內(nèi)容輸出ServerVariables屬性刷新緩沖區(qū),向客戶(hù)端發(fā)送當(dāng)前所有緩沖的輸出UserHostAddress屬性將當(dāng)前所有緩沖的輸出發(fā)送到客戶(hù)端,停止該頁(yè)的執(zhí)行SaveAs方法將客戶(hù)端重定向到新的URLRequest對(duì)象常用屬性(1)Browser屬性用于獲取或設(shè)置有關(guān)正在請(qǐng)求的客戶(hù)端瀏覽器的信息。例句:
Label1.Text="瀏覽器使用的平臺(tái):"+Request.Browser.Platform+“<br>”+“瀏覽器類(lèi)型:”+Request.Browser.Type+“<br>”+“瀏覽器版本:"+Request.Browser.Version+"<br>";(2)QueryString屬性用于獲取HTTP查詢(xún)字符串變量的集合。例句:
Response.Redirect(“e.aspx?name=”+yhm.Text);//跳轉(zhuǎn)到
e.aspx頁(yè)面在e.aspx頁(yè)面中獲得傳遞過(guò)來(lái)的用戶(hù)名并輸出到頁(yè)面上。
Response.Write(Request.QueryString[“name”]+“您好!歡迎您的光臨!<br>");Request對(duì)象常用屬性在程序中,經(jīng)??梢允褂肦equest對(duì)象的屬性QueryString來(lái)獲得從上一個(gè)頁(yè)面?zhèn)鬟f過(guò)來(lái)的字符串參數(shù),例如在頁(yè)面1中創(chuàng)建一個(gè)鏈接,指向頁(yè)面2,并用QueryString屬性獲得這兩個(gè)變量,該連接代碼如下所示:<ahref="Page2.aspx?ID=001&Name=yound">查看</a>在上面創(chuàng)建好了鏈接,并傳遞兩個(gè)值,一個(gè)是用戶(hù)的ID,另一個(gè)值為用戶(hù)名,現(xiàn)在在頁(yè)面2中獲得從頁(yè)面1傳遞過(guò)來(lái)的兩個(gè)值,具體操作是:在頁(yè)面2的Page_Load事件中編寫(xiě)如下代碼:
Request對(duì)象常用屬性protectedvoidPage_Load(objectsender,EventArgse){Response.Write("獲得的用戶(hù)的ID值是:"+Request.QueryString["ID"].ToString()+"<br/>");Response.Write("獲得的用戶(hù)的用戶(hù)名是:"+Request.QueryString["Name"].ToString());}在該項(xiàng)目中右擊Page1,從彈出快捷菜單中選擇【設(shè)為起始項(xiàng)】命令。然后單擊工具欄中【啟動(dòng)調(diào)試】按鈕,運(yùn)行程序。在頁(yè)面1中單擊【查看】鏈接跳轉(zhuǎn)到頁(yè)面2,在頁(yè)面2上顯示的結(jié)果為:獲得的用戶(hù)的ID值是:001獲得的用戶(hù)的用戶(hù)名是:youndRequest對(duì)象常用屬性通過(guò)分析以上案例程序,了解了Request對(duì)象的屬性值的運(yùn)用,下面利用Request對(duì)象提供的方法獲取文件的物理路徑,具體代碼如下所示:stringfileName="Page2.aspx";Response.Write(“獲得完成的物理路徑:"+Request.MapPath(fileName));該實(shí)例的程序運(yùn)行結(jié)果如下所示:獲得完成的物理路徑:F:\工作\ASP.NET3.5完全學(xué)習(xí)手冊(cè)\程序\DemoRequest\Page2.aspxRequest對(duì)象常用方法SaveAs方法SaveAs方法用于將HTTP請(qǐng)求保存到硬盤(pán)上,在調(diào)試過(guò)程中非常有用。例如,在應(yīng)用程序中調(diào)用Request對(duì)象的SaveAs方法,將HTTP請(qǐng)求保存到本網(wǎng)站虛擬目錄下的test.txt文件中。例句:Request.SaveAs(Server.MapPath("test.txt"),true);Request對(duì)象:用戶(hù)獲得客戶(hù)端提交的相關(guān)信息Request對(duì)象ServerVariables屬性Form
屬性Params屬性QueryString
屬性獲取通過(guò)URL路徑傳來(lái)的數(shù)據(jù)獲取通過(guò)表單提交傳輸?shù)臄?shù)據(jù)獲取Web服務(wù)器變量的集合以上三種方式傳輸?shù)膬?nèi)容都可以使用該屬性獲取頁(yè)面輸入輸出控制Request對(duì)象:獲取客戶(hù)端送往服務(wù)器端的信息獲得頁(yè)面輸入U(xiǎn)RL傳參Form表單提交Response對(duì)象:表示服務(wù)器端對(duì)客戶(hù)端的響應(yīng),用于將信息從服務(wù)器端輸出到客戶(hù)端在頁(yè)面輸出要顯示的內(nèi)容重定向3Page對(duì)象每個(gè).aspx文件對(duì)應(yīng)一個(gè)Page對(duì)象.aspx與后臺(tái)代碼類(lèi)(局部類(lèi))合并生成頁(yè)面類(lèi)Page對(duì)象是頁(yè)面類(lèi)的實(shí)例所有的.aspx文件(Web窗體頁(yè))都繼承自System.Web.UI.Page類(lèi)查看源視圖<%@Page
Language="C#"
AutoEventWireup="true"
CodeFile=“Default.aspx.cs"
Inherits="_Default"%>指明頁(yè)面代碼和后置代碼所使用的腳本語(yǔ)言設(shè)置是否自動(dòng)調(diào)用網(wǎng)頁(yè)事件,默認(rèn)為true指定代碼后置文件,該文件包含此頁(yè)面的局部類(lèi)代碼后置的類(lèi),局部類(lèi)@Page指令定義了ASP.NET頁(yè)用于編譯和解析的屬性。每個(gè)aspx頁(yè)面只能有一個(gè)@Page指令3.1.2Page對(duì)象1.@Page指令在VisualStudio的窗口中,打開(kāi)源視圖,在第一行可以看到這樣一行代碼:獲取用戶(hù)輸入信息和客戶(hù)端環(huán)境信息(1)IsPostBack屬性用于判斷頁(yè)面是回傳或者是首次加載。IsPostBack常放置于Page_Load方法中。用于首次加載頁(yè)面時(shí)的初始化。用戶(hù)第一次瀏覽網(wǎng)頁(yè)時(shí),會(huì)返回值false,否則返回值true。例句:protectedvoidPage_Load(objectsender,EventArgse){if(Page.IsPostBack){......}}(2)PreviousPage屬性獲取向當(dāng)前頁(yè)面?zhèn)鬏敂?shù)據(jù)的頁(yè)面。執(zhí)行跨頁(yè)數(shù)據(jù)傳送時(shí)用到該屬性。Page對(duì)象的常用屬性獲取用戶(hù)輸入信息和客戶(hù)端環(huán)境信息(3)IsValid,該屬性用于判斷頁(yè)面中的所有輸入的內(nèi)容是否已經(jīng)通過(guò)驗(yàn)證,它是一個(gè)布爾值的屬性。當(dāng)需要使用服務(wù)器端驗(yàn)證時(shí),可以使用該屬性。(4)IsCrossPagePostBack,該屬性判斷頁(yè)面是否使用跨頁(yè)提交,它是一個(gè)布爾值的屬性Page對(duì)象的常用屬性常用頁(yè)面處理事件Page_PreInit:通過(guò)IsPostBack屬性確定是否第一次處理該頁(yè)、創(chuàng)建動(dòng)態(tài)控件、動(dòng)態(tài)設(shè)置主題屬性、讀取配置文件屬性等。Page_Init:初始化控件屬性。Page_Load:加載頁(yè)面時(shí)觸發(fā)該頁(yè)面。讀取和更新控件屬性。當(dāng)控件的事件被觸發(fā)時(shí),Page_Load事
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外出創(chuàng)業(yè)租房合同范例
- 快遞代收合同范例
- 公司產(chǎn)權(quán)商鋪出售合同模板
- 中藥飲片行業(yè)探析
- 家居裝修公司合同范例
- 建設(shè)工程合同范例共幾版
- 個(gè)人茶莊轉(zhuǎn)讓合同范例
- 工程施工正式合同范例
- 劇組法律顧問(wèn)合同范例
- 產(chǎn)房租賃合同范例
- 大數(shù)據(jù)專(zhuān)業(yè)職業(yè)規(guī)劃
- 任務(wù)驅(qū)動(dòng)啟發(fā)學(xué)生自學(xué)-任務(wù)驅(qū)動(dòng)下的小學(xué)語(yǔ)文教學(xué)研究 論文
- 吸入麻醉聯(lián)合神阻滯在骨科手術(shù)中應(yīng)用
- 人教版九年級(jí)上學(xué)期期中考試數(shù)學(xué)試卷及答案解析(共5套)
- 逆境中的積極心態(tài)與成就
- 山東省2023年高考物理模擬(一模、二模)試題知識(shí)點(diǎn)訓(xùn)練:電磁學(xué)解答題
- 門(mén)診健康宣教 課件
- 學(xué)生戲劇表演
- 人工智能基礎(chǔ)及應(yīng)用(微課版) 課件 第6章 人工神經(jīng)網(wǎng)絡(luò)
- 計(jì)量器具管理課件
- 2022年《系統(tǒng)集成項(xiàng)目管理工程師》案例分析真題
評(píng)論
0/150
提交評(píng)論