在進行本節(jié)課之前,按照國際慣例我們需要進行下課程回顧。有沒有哪位同學(xué)可以告訴老師,我們上次課程主要講到了asp.net中的哪些內(nèi)容呢?上次課程我們主要講到了如何創(chuàng)建我們的第一個asp.net網(wǎng)站,并對做好的網(wǎng)站進行發(fā)布與運行。對網(wǎng)站發(fā)布與部署我們要用到web服務(wù)器中的哪個工具?是web服務(wù)器中的iis,對不對?不會操作網(wǎng)站發(fā)布與部署的同學(xué)舉一下手。很好,大家都會,那我們就進入課本的第2章:系統(tǒng)對象和數(shù)據(jù)傳遞。
這節(jié)課有如下七個學(xué)習(xí)要點,大家看一下這七個學(xué)習(xí)要點。
會使用系統(tǒng)對象
會在后臺代碼中輸出javascript提示信息
會使用Response實現(xiàn)網(wǎng)頁的重定向
會使用系統(tǒng)對象實現(xiàn)狀態(tài)保持
會使用Server對象獲取文件的物理路徑
掌握頁內(nèi)數(shù)據(jù)傳遞
了解跨頁數(shù)據(jù)傳遞
其實我們只需要掌握會使用系統(tǒng)對象、會使用系統(tǒng)對象實現(xiàn)狀態(tài)保持、掌握頁內(nèi)數(shù)據(jù)傳遞這三個要點就可以基本掌握這七個學(xué)習(xí)要點。
最后我們需要實現(xiàn)制作登錄頁面并實現(xiàn)重定向和狀態(tài)保持這個任務(wù)。
我們開始講解系統(tǒng)對象。為什么要使用系統(tǒng)對象呢?我們在網(wǎng)上瀏覽網(wǎng)站的時候,我們知道一個網(wǎng)站是由很多個不同的網(wǎng)頁組成的,那么一個網(wǎng)站中的不同的頁面之間如何進行聯(lián)系,數(shù)據(jù)間如何進行傳遞呢?比如我在首頁登陸了一個用戶名,那么我在其它頁面要使用這個用戶的信息的時候,這個時候我們就需要使用系統(tǒng)對象來獲取首頁登陸時保存的用戶名。所以系統(tǒng)對象是用在客戶端頁面上的數(shù)據(jù)和服務(wù)端數(shù)據(jù)傳遞時,方便設(shè)置和獲取。
系統(tǒng)對象使用在客戶端和服務(wù)端數(shù)據(jù)傳遞、頁面之間數(shù)據(jù)傳遞、多用戶操作時,用戶之間的數(shù)據(jù)共享。多用戶操作,比如我在一臺電腦上登陸了一個用戶名,然后另外一個用戶在另外一臺電腦也登陸了他的用戶名,這個時候就是多用戶在操作這個時間,這時就需要使用系統(tǒng)對象對不同用戶之間的數(shù)據(jù)共享。
在Asp.net系統(tǒng)的常用對象在以下七個,這七個Asp.net系統(tǒng)的常用對象大家要熟記如心。
Page 提供對當(dāng)前頁面的訪問
Request 提供對當(dāng)前頁請求的訪問,其中包括請求標(biāo)題、Cookie、客戶端證書、查詢字符串等。可以使用此對象讀取瀏覽器已經(jīng)發(fā)送的內(nèi)容
Response 提供對當(dāng)前頁的輸出流的訪問。可以使用此對象將文本插入頁中、編寫Cookie,實現(xiàn)請求的重定向
Application 提供對所有會話的應(yīng)用程序范圍的方法和事件的訪問。還提供對可用于存儲信息的應(yīng)用程序范圍的緩存的訪問
Session 為當(dāng)前用戶會話提供信息。還提供對可用于存儲信息的會話范圍的緩存的訪問,以及控制如何管理會話的方法
Server 提供可以用于在頁之間傳輸控件的實用工具方法,獲取有關(guān)最新錯誤的信息,對HTML文本進行編碼和解碼
Cookie 提供了一種在web應(yīng)用程序中存儲用戶特定信息(如歷史記錄)的方法
1,現(xiàn)在來講Page對象,Page對象代表當(dāng)前頁面,關(guān)于Page對象的其它屬性我們暫時不了解,在此先介紹兩個通過Page對象輸出JavaScript代碼的方法。
Page.ClientScript.RegisterClientScriptBlock(Type type,”key”,”script”);在網(wǎng)頁前面注冊javascript代碼
Page.ClientScript.RegisterStartupScript(Type type,”key”,”script”)在網(wǎng)頁后面注冊javascript代碼
接下來我們實例講解下。
2,Request對象,讀取客戶端在web請求期間發(fā)送的http值。它包含有以下四個屬性來獲取客戶端傳遞的數(shù)據(jù)。
QueryString:集合獲取客戶端通過Get請求方式發(fā)送的數(shù)據(jù)
From:集合獲取客戶端通過Post請求方式發(fā)送的數(shù)據(jù)
ServerVariables:包含了客戶端和服務(wù)器端的系統(tǒng)信息
Params:集合以上三種方式的集合
實例講解Post請求方式和Get請求方式。
3、Response對象代表服務(wù)器對客戶端的響應(yīng)
常用方法:
1)write可以輸出普通文本、html標(biāo)簽、javascript代碼到客戶端
Response.write(“<div>不錯噢,做的很好!</div>”);
Response.write(“<script>alert(‘你好!’)</script>”);
2)redirect可實現(xiàn)請求的重定向
Response.Redirect(“beRedirected.aspx”);
response方法我們剛才在實例的時候就講解了。
4、Server對象方法:
1)htmlEncode:編碼
2)htmlDecode:解碼
3)MapPath:返回與web服務(wù)器上的指定虛擬路徑相對應(yīng)的物理文件路徑
4)Transfer:將請求轉(zhuǎn)發(fā)到另一個頁面
5)Execute:在當(dāng)前頁面中包含另外一個頁面
實例講解:
<%= Server.HtmlEncode("ohmygod: <P>")%>
<%= Server.HtmlDecode("ohmygod: <P>") %>
Server.MapPath("./")
Server.Transfer("transer.aspx");
Server.Execute("transer.aspx");