版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1回顧q 傳遞Form表單中的控件值用Request.Form 獲取值,地址欄中傳遞的參數(shù)用 Request.QueryString獲取q 通常用HttpResponse 類的屬性Buffer、Cache、Cookie 和 Expires來(lái)設(shè)置站點(diǎn)的一些特性q HttpResponse 類常用方法是 Write()、End() 和 Redirect()q HttpServerUtility 類的Execute()和Transfer()的區(qū)別關(guān)鍵在于執(zhí)行后控制權(quán)是否返回原先頁(yè)面、URLEncode()和HTMLEncode()主要用于對(duì)HTML 標(biāo)簽和URL進(jìn)行編碼,對(duì)站點(diǎn)或程序的安全具有重要意
2、思, MapPath()獲取物理路徑時(shí)需要注意是絕對(duì)路徑還是相對(duì)路徑第第6章章-2Application、Session和Cookie對(duì)象ASP.NET應(yīng)用程序的生命周期3aspnet_isapi.dll起點(diǎn)ApplicationManager HostingEnvironment 4Global.asax5 Global.asax 2-1“Global.asax” q 存儲(chǔ)所有事件的事件處理程序q 存儲(chǔ)在應(yīng)用程序的根目錄下q 它的位置定義應(yīng)用程序的限界q 包含所有應(yīng)用程序的配置設(shè)置6Global.asax 2-2httpApplication類類實(shí)例事件事件處理程序Global.asax配置
3、設(shè)置存儲(chǔ)于文件事件說(shuō)明Application_Start調(diào)用當(dāng)前應(yīng)用程序目錄(或其子目錄)下的第一個(gè) ASP.NET 頁(yè)面時(shí)觸發(fā)。Application_End應(yīng)用程序的最后一個(gè)會(huì)話結(jié)束時(shí)觸發(fā)。用 Internet 服務(wù)管理器管理單元停止 Web 應(yīng)用程序時(shí)也會(huì)觸發(fā)Application_BeginRequest每次頁(yè)面請(qǐng)求開(kāi)始時(shí)觸發(fā)(理想情況下是在頁(yè)面加載或刷新時(shí))Application_EndRequest每次頁(yè)面請(qǐng)求結(jié)束時(shí)(即每次在瀏覽器上執(zhí)行頁(yè)面時(shí))觸發(fā)Session_Start每次新的會(huì)話開(kāi)始時(shí)觸發(fā)Session_End會(huì)話結(jié)束時(shí)觸發(fā)。(關(guān)于會(huì)話可以采用何種方式結(jié)束,請(qǐng)參見(jiàn)會(huì)話對(duì)象)
4、7TestingGlobal.aspx示例 會(huì)話尚未結(jié)束 輸出結(jié)果8TestingGlobal.aspx示例 -1 protected void Application_Start(Object sender, EventArgs e) protected void Session_Start(Object sender, EventArgs e)Response.Write( “會(huì)話已開(kāi)始 ); protected void Application_BeginRequest(Object sender, EventArgs e) Response.Write(“應(yīng)用程序開(kāi)始); Respon
5、se.Write (“應(yīng)用程序請(qǐng)求開(kāi)始);Global.asax 文件打開(kāi)代碼隱藏類文件 Global.asax.cs。將代碼分別添加到 Global.asax.cs 中的各個(gè)事件中9TestingGlobal.aspx示例 -2 protected void Application_EndRequest(Object sender, EventArgs e) Response.Write (“應(yīng)用程序請(qǐng)求結(jié)束); protected void Session_End(Object sender, EventArgs e)Response.Write(“會(huì)話已結(jié)束); protected vo
6、id Application_End (Object sender, EventArgs e)10TestingGlobal.aspx示例 -3private void Page_Load(object sender, System.EventArgs e)Response.Write(“頁(yè)面加載事件);將默認(rèn) ASP.NET 頁(yè)面WebForm1.aspx重命名為TestingGlobal.aspx, 并添加給定的代碼片段11TestingGlobal.aspx示例 -4會(huì)話尚未結(jié)束 輸出結(jié)果實(shí)現(xiàn)狀態(tài)管理的對(duì)象qHttp協(xié)議“無(wú)狀態(tài)協(xié)議”qSessionqApplicationqViewSt
7、ateqCookie1213變量用于在應(yīng)用程序執(zhí)行時(shí)存儲(chǔ)數(shù)據(jù)Application應(yīng)用程序級(jí)Session會(huì)話級(jí)ViewState級(jí)Cookie級(jí)string myname = “張三;Response.Write (“歡迎 + myname);14ViewStatecount = 0;Sessioncount = null;Applicationcount = ncount;Label3.Text = Sessioncount.ToString();15一 Session 對(duì)象qSession 對(duì)象用于存儲(chǔ)用戶的信息 q當(dāng)新用戶請(qǐng)求應(yīng)用程序的網(wǎng)頁(yè)時(shí),Server 對(duì)象會(huì)檢查用戶是否有 Ses
8、sionIDqSession 對(duì)象包含特定于某個(gè)用戶的信息q在用戶會(huì)話期間可以記錄和監(jiān)視特定于用戶的信息q當(dāng)會(huì)話過(guò)期或終止時(shí),服務(wù)器就會(huì)清除 Session 對(duì)象優(yōu)點(diǎn)161.1Session 變量qSession 變量?jī)H提供給會(huì)話中的特定用戶qSession 變量可用于存儲(chǔ)在整個(gè)用戶會(huì)話過(guò)程中都可以訪問(wèn)的值1.2向Session對(duì)象中存入數(shù)據(jù)protected void Button1_Click(object sender, EventArgs e) SessionMyVal1 = 這是Session傳遞的數(shù)據(jù)1; string Val2 = 這是Session傳遞的數(shù)據(jù)2; Session
9、MyVal2 = Val2;1.2 從Session對(duì)象中取出數(shù)據(jù)protected void Page_Load(object sender, EventArgs e) Label1.Text = (string)(SessionMyVal1); Label2.Text = (string)(SessionMyVal2);19ASP.NET中數(shù)值傳遞模型介紹1.3 示例1qLogin.aspx:登陸頁(yè)面,用戶輸入用戶名。qSessionV.aspx:用戶名輸出頁(yè)面,輸出login頁(yè)接收到的用戶名。qNolink.aspx:用戶名輸出頁(yè)面,輸出login頁(yè)接收到的用戶名。2021 privat
10、e void btnLogin_Click(object sender, System.EventArgs e) SessionUserName=this.txtName.Text.Trim(); Response.Redirect(SessionVariableWelcome.aspx?pwd= +this.txtPwd.Text );1.3 上機(jī)練習(xí) 3-1221.2使用示例 3-2private void Page_Load(object sender, System.EventArgs e)Response.Write (“歡迎 +SessionUserName + 光臨,你的密碼是:
11、 +Requestpwd.ToString()+);231.3Session事件Session 事件事件Session_StartSession_End241.4Session 屬性屬性說(shuō)明SessionID包含一個(gè)唯一的用戶會(huì)話標(biāo)識(shí)符。它用于在會(huì)話過(guò)程中跟蹤用戶的信息。要檢索 SessionID,使用 Session.SessionIDTimeOut設(shè)置用戶超時(shí),即它以分鐘為單位,默認(rèn)值為 20 分鐘。可通過(guò)在 ASPX 文件中賦值來(lái)更改此設(shè)置。例如,LCID用于設(shè)定本地標(biāo)志符. 它可存儲(chǔ)本地信息,如日期、貨幣和時(shí)間格式。例如 Session.LCID = 0 x040C 將本地標(biāo)識(shí)符設(shè)定為
12、法國(guó)本地標(biāo)識(shí)符IsNewSession若該會(huì)話是由當(dāng)前請(qǐng)求創(chuàng)建的,該屬性將返回值 trueItem獲取或設(shè)置會(huì)話值的名稱Count獲得會(huì)話狀態(tài)集合中的項(xiàng)數(shù)1.5 示例q用戶只能通過(guò)default.aspx登錄welcome.aspx.qZhangsan 123456 adminqLisi 234567 normalqWangwu 345678 normal2526Application 對(duì)象存儲(chǔ)并維護(hù)應(yīng)用程序級(jí)的數(shù)據(jù)二、 Application 對(duì)象Application 狀態(tài)狀態(tài)HttpApplicationState方法集合Application 狀態(tài)狀態(tài)由它們表示由它們表示類類272.1
13、Application 變量變量用于在應(yīng)用程序執(zhí)行時(shí)存儲(chǔ)數(shù)據(jù)應(yīng)用程序級(jí)會(huì)話級(jí)string myname = “張三;Response.Write (“歡迎 + myname);282.2Lock 和 Unlock 方法 Lock()Lock() 用于防止用戶更改 Application 對(duì)象的屬性 Lock() 可用作 Application.Lock() UnLock()Unlock() 方法用于釋放對(duì)應(yīng)用程序變量的鎖定UnLock() 可用作Application.UnLock()292.3向應(yīng)用程序添加、更新和移除項(xiàng) 方法方法說(shuō)明說(shuō)明Add()向 Application 狀態(tài)添加新對(duì)象。
14、Application.Add(“對(duì)象名”, 對(duì)象值);或 Application(“對(duì)象名”) = “對(duì)象值”;例如,下列代碼會(huì)向應(yīng)用程序狀態(tài)添加項(xiàng):Application.Add(“Title”, article board);或 Application(“Title”) = “Article Board”; Clear()從 Application 狀態(tài)中移除所有對(duì)象 Remove()從 Application 集合中按名稱移除項(xiàng)。例如,下列代碼移除 Title 項(xiàng):Application.Remove(Title) HttpApplicationState 方法方法q修改Applica
15、tion對(duì)象中的數(shù)據(jù):Application.Lock();Application“Test”= Application“Test”= + 1);Application.Set(“Test”,Application“Test” + 1);Application.Unlockq讀取Application對(duì)象中的數(shù)據(jù)string User;User=Application(“UserName”).Tostring();3031對(duì)象級(jí)變量 示例網(wǎng)站計(jì)數(shù)器protected void Application_Start(Object sender, EventArgs e)Application.Lo
16、ck ();ApplicationUserNum =0;Application.UnLock();protected void Session_Start(Object sender, EventArgs e)Response.Write(調(diào)用Session_Start:會(huì)話已開(kāi)始 );Application.Lock();ApplicationUserNum=int.Parse(ApplicationUserNum. ToString()+1;Application.UnLock();32對(duì)象級(jí)變量示例private void Page_Load(object sender, System.
17、EventArgs e)/ 在此處放置用戶代碼以初始化頁(yè)面Response.Write(你是第+ ApplicationUserNum.ToString() + 位訪客);33對(duì)象級(jí)變量 示例在線訪問(wèn)人數(shù)protected void Application_Start(Object sender, EventArgs e)Application.Lock ();ApplicationUserNum =0;Application.UnLock();protected void Session_Start(Object sender, EventArgs e)Response.Write(調(diào)用Se
18、ssion_Start:會(huì)話已開(kāi)始 );Application.Lock();ApplicationUserNum=int.Parse(ApplicationUserNum. ToString()+1;Application.UnLock();protected void Session_End(Object sender, EventArgs e) Response.Write(調(diào)用Session_End:會(huì)話已結(jié)束); Application.Lock(); ApplicationUserNum=int.Parse(Application UserNum.ToString()-1; App
19、lication.UnLock();34對(duì)象級(jí)變量示例private void Page_Load(object sender, System.EventArgs e)/ 在此處放置用戶代碼以初始化頁(yè)面Response.Write(你是第+ ApplicationUserNum.ToString() + 位訪客);35對(duì)象級(jí)變量 示例q例6-10簡(jiǎn)易網(wǎng)絡(luò)聊天室(P174)36實(shí)例q一個(gè)簡(jiǎn)易網(wǎng)上聊天室。用戶訪問(wèn)網(wǎng)站的時(shí)候,首先打開(kāi)登陸頁(yè)面。在輸入用戶名和相應(yīng)密碼后,進(jìn)入聊天頁(yè)面。頁(yè)面分上下兩部分,下面是輸入?yún)^(qū)域,上面為聊天信息顯示區(qū)域。3738三、CookiesCookie在客戶端系統(tǒng)中維護(hù)客戶
20、的個(gè)人信息 會(huì)話會(huì)話 Cookie持久性持久性 Cookie3.1創(chuàng)建和讀取 Cookie-11、創(chuàng)建cookieq Response.Cookies“名稱名稱”.Value=變量;變量;q HttpCookie objHttpCookie = new HttpCookie(“name”, “value); Response.Cookies.Add(objHttpCookie); 392、讀取cookieq變量變量 = Request.Cookies名稱名稱.Value;q 3、清除cookie Response.Cookies名稱名稱.Value = null;或 Response.Cook
21、ies名稱名稱.Expires = new System.DateTime(2012,11,12);(過(guò)期)(過(guò)期)40413.2創(chuàng)建和讀取會(huì)話 CookieHttpCookie objHttpCookie = new HttpCookie(“UserName”, “張三); Response.Cookies.Add(objHttpCookie); 新建 Cookie將新 Cookie 添加到 Response 對(duì)象的 Cookie 集合中 創(chuàng)建 Cookie讀取 CookieResponse.Write(Request.Cookies(“UserName).Value);Value 屬性將
22、Cookie 的值作為字符串返回423.3創(chuàng)建和讀取持久性 Cookie讀取 CookieHttpCookie objHttpCookie = new HttpCookie(“UserName”,“張三); objHttpCookie.Expires = DateTime.Now.AddMinutes(2);Response.Cookies.Add(objHttpCookie); 新建 Cookie用 Cookie 的 Expires 屬性將 Cookie 的過(guò)期期限設(shè)置為兩分鐘創(chuàng)建 CookieResponse.Write(Request.Cookies(“UserName).Value);
23、練習(xí)q將Cookies集合中名為“MyCookie”的Cookie值讀出,并賦給變量GetCookie:string GetCookie = “”if (Request.CookiesMyCookie != null) GetCookie = Request.CookiesMyCookie.Value; 433.4 使用多值CookieResponse.CookiesPersonP_Name.Value = zhangsan;Response.CookiesPersonP_Email.Value = ;Response.CookiesPersonP_Home.Value = 北京;使用下列語(yǔ)句
24、可從上述多值Cookie中讀取數(shù)據(jù):yr_name = Request.CookiesPersonP_Name.Value;yr_email = Request.CookiesPersonP_Email.Value;yr_home = Request.CookiesPersonP_Home.Value;或string yr_name = Request.CookiesPerson.Values0;string yr_name = Request.CookiesPerson.Values1;string yr_name = Request.CookiesPerson.Values2;44示例1q在頁(yè)面上的TextBox中輸入一個(gè)用戶名,然后點(diǎn)“注冊(cè)”按鈕,此時(shí)將用戶名存入Cookie中,然后在頁(yè)面加載
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 18738-2025豆?jié){粉質(zhì)量通則
- 2025年廣州市正骨醫(yī)院合同制人員招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 后勤上半年工作總結(jié)15篇
- 2025年博思睿招聘(派遣至海寧市硤石街道辦事處)備考題庫(kù)及完整答案詳解1套
- 2026年網(wǎng)絡(luò)平臺(tái)責(zé)任保險(xiǎn)合同中
- 2026年航空貨運(yùn)包機(jī)服務(wù)合同
- 2025年綿竹市衛(wèi)生健康局綿竹市人力資源和社會(huì)保障局關(guān)于大學(xué)生鄉(xiāng)村醫(yī)生專項(xiàng)招聘的備考題庫(kù)附答案詳解
- 鄭州市規(guī)劃勘測(cè)設(shè)計(jì)研究院有限公司2026年崗位招聘?jìng)淇碱}庫(kù)及1套完整答案詳解
- 2025年民生銀行沈陽(yáng)分行社會(huì)招聘?jìng)淇碱}庫(kù)及參考答案詳解一套
- 2026年物業(yè)管理軟件數(shù)據(jù)遷移合同
- 2025年榆林市住房公積金管理中心招聘(19人)備考筆試試題及答案解析
- 2025年金屬非金屬礦山(地下礦山)安全管理人員證考試題庫(kù)含答案
- 2025秋蘇教版(新教材)小學(xué)科學(xué)三年級(jí)上冊(cè)知識(shí)點(diǎn)及期末測(cè)試卷及答案
- 中文核心期刊論文模板(含基本格式和內(nèi)容要求)
- 2024-2025學(xué)年云南省普通高中高二下學(xué)期期末學(xué)業(yè)水平合格性考試數(shù)學(xué)試卷
- GB/T 18213-2025低頻電纜和電線無(wú)鍍層和有鍍層銅導(dǎo)體直流電阻計(jì)算導(dǎo)則
- 泰康人壽會(huì)計(jì)筆試題及答案
- 園林綠化養(yǎng)護(hù)項(xiàng)目投標(biāo)書(shū)范本
- 烷基化裝置操作工安全培訓(xùn)模擬考核試卷含答案
- 汽車租賃行業(yè)組織架構(gòu)及崗位職責(zé)
- 2025年廣西國(guó)家工作人員學(xué)法用法考試試題及答案
評(píng)論
0/150
提交評(píng)論