|
ASP.NET的內(nèi)置對象介紹
1.Response
2.Request
3.Server
4.Application
5.Session
6.Cookie
Request對象主要是讓服務(wù)器取得客戶端瀏覽器的一些數(shù)據(jù),包括從HTML表單用Post或者GET方法傳遞的參數(shù)、Cookie和用戶認(rèn)證。因?yàn)镽equest對象是Page對象的成員之一,所以在程序中不需要做任何的聲明即可直接使用;其類名為 HttpRequest屬性很多,但方法很少,只有一個(gè)BinaryRead()
1.使用Request.Form屬性獲取數(shù)據(jù)
通過該屬性,讀取之間的表單數(shù)據(jù).注意:提交方式要設(shè)置為“Post”。與Get方法相比較,使用Post方法可以將大量數(shù)據(jù)發(fā)送到服務(wù)器端
2.利用Request.QueryString屬性獲取數(shù)據(jù)
Request對象的QuerySting屬性可以獲取 HTTP 查詢字符串變量集合 。 通過該屬性,我們可以讀取地址信息 http://localhost/aaa.ASPx?uid=tom&pwd=abc其中標(biāo)識(shí)為紅色部分的數(shù)據(jù).注意:提交方式要設(shè)置為“Get”
3.問題:Request.Form用于表單提交方式為Post的情況,而Request.QueryString用于表單提交方式為Get的情況,如果用錯(cuò),則獲取不到數(shù)據(jù)。解決方法:利用Request(“元素名”)來簡化操作。
4.Request.ServerVariables("環(huán)境變量名稱")
類似的還有:UserHostAddress,Browser,Cookies,ContentType,IsAuthenticatedItem,ParamsResponse 對象用語輸出數(shù)據(jù)到客戶端,包括向?yàn)g覽器輸出數(shù)據(jù)、重定向?yàn)g覽器到另一個(gè)URL或向?yàn)g覽器輸出Cookie文件。其類名為httpResponse屬性和方法。
Write() 向客戶端發(fā)送字符串信息
BufferOutPut屬性 是否使用緩存
Clear() 清除緩存
Flush() 強(qiáng)制輸出緩存的所有數(shù)據(jù)
Redirect() 網(wǎng)頁轉(zhuǎn)向地址
End() 終止當(dāng)前頁的運(yùn)行
WriteFile() 讀取一個(gè)文件,并且寫入客戶端輸出流 (實(shí)質(zhì):打開文件,并且輸出到客戶端。)
1.Response.Write 變量數(shù)據(jù)或字符串
Response.Write (變量數(shù)據(jù)或字符串)
<%=…%>Response.Write("alert('歡迎學(xué)習(xí)ASP.NET')")
Response.Write(" ")
2.Response對象的Redirect方法將客戶端瀏覽器重定向到另外的URL上,即跳轉(zhuǎn)到另一個(gè)網(wǎng)頁。例如:Response.Redirect("http://www.example.com/")
3. Response.End() 終止當(dāng)前頁的運(yùn)行
4.Response.WriteFile(FileName)其中:FileName 指代需向?yàn)g覽器輸出的文件的文件名
Server對象提供對服務(wù)器上的方法和屬性進(jìn)行的訪問 .其類名稱是HttpServerUtility.
Server對象的主要屬性有:
MachineName:獲取服務(wù)器的計(jì)算機(jī)名稱。
ScriptTimeout:獲取和設(shè)置請求超時(shí)(以秒計(jì))。
方法名稱 說明
CreateObject 創(chuàng)建 COM 對象的一個(gè)服務(wù)器實(shí)例。
Execute 執(zhí)行當(dāng)前服務(wù)器上的另一個(gè)ASPx頁,執(zhí)行完該頁后再返回本頁繼續(xù)執(zhí)行
HtmlEncode 對要在瀏覽器中顯示的字符串進(jìn)行HTML編碼并返回已編碼的字符串。
HtmlDecode 對HTML編碼的字符串進(jìn)行解碼,并返回已解碼的字符串。
MapPath 返回與 Web 服務(wù)器上的指定虛擬路徑相對應(yīng)的物理文件路徑。
Transfer 終止當(dāng)前頁的執(zhí)行,并為當(dāng)前請求開始執(zhí)行新頁。
UrlEncode 將代表URL的字符串進(jìn)行編碼,以便通過 URL 從 Web 服務(wù)器到客戶端進(jìn)行可靠的 HTTP 傳輸。
UrlDecode 對已被編碼的URL字符串進(jìn)行解碼,并返回已解碼的字符串。
UrlPathEncode 對 URL 字符串的路徑部分進(jìn)行 URL 編碼,并返回已編碼的字符串。
編碼:Server.HtmlEncode(“HTML代碼”)
解碼:Server.HtmlDecode(“已編碼的HTML”)
1.Server對象的MapPath方法將虛擬路徑或相對于當(dāng)前頁的相對路徑轉(zhuǎn)化為Web 服務(wù)器上的物理文件路徑。 語法:
Server.MapPath(“虛擬路徑”)Application對象在實(shí)際網(wǎng)絡(luò)開發(fā)中的用途就是記錄整個(gè)網(wǎng)絡(luò)的信息,如上線人數(shù)、在線名單、意見調(diào)查和網(wǎng)上選舉等。在給定的應(yīng)用程序的多有用戶之間共享信息,并在服務(wù)器運(yùn)行期間持久的保存數(shù)據(jù)。而且Application對象還有控制訪問應(yīng)用層數(shù)據(jù)的方法和可用于在應(yīng)用程序啟動(dòng)和停止時(shí)觸發(fā)過程的事件。
String FilePath
FilePath = Server.MapPath(“/”)
Response.Write(FilePath)
1.使用Application對象保存信息Application(“鍵名”) = 值或Application(“鍵名”,值)獲取Application對象信息變量名 = Application(“鍵名”)或:變量名 = Application.Item(“鍵名”)或:變量名 = Application.Get(“鍵名”)更新Application對象的值
Application.Set(“鍵名”, 值)
刪除一個(gè)鍵
Application.Remove(“鍵名”, 值)
刪除所有鍵
Application.RemoveAll()或Application.Clear()
2.有可能存在多個(gè)用戶同時(shí)存取同一個(gè)Application對象的情況。這樣就有可能出現(xiàn)多個(gè)用戶修改同一個(gè)Application命名對象,造成數(shù)據(jù)不一致的問題。HttpApplicationState 類提供兩種方法 Lock 和 Unlock,以解決對Application對象的訪問同步問題,一次只允許一個(gè)線程訪問應(yīng)用程序狀態(tài)變量。
關(guān)于鎖定與解鎖
鎖定:Application.Lock()
訪問:Application(“鍵名”) = 值
解鎖:Application.Unlock()
注意:Lock方法和UnLock方法應(yīng)該成對使用。 可用于網(wǎng)站訪問人數(shù),聊天室等設(shè)備。
3. 使用Application事件
在ASP.NET 應(yīng)用程序中可以包含一個(gè)特殊的可選文件——Global.asax 文件,也稱作ASP.NET 應(yīng)用程序文件,它包含用于響應(yīng) ASP.NET或HTTP模塊引發(fā)的應(yīng)用程序級(jí)別事件的代碼。Global.asax 文件提供了7個(gè)事件,其中5個(gè)應(yīng)用于Application對象
事件名稱 說明
Application_Start 在應(yīng)用程序啟動(dòng)時(shí)激發(fā)
Application_BeginRequest 在每個(gè)請求開始時(shí)激發(fā)
Application_AuthenticateRequest 嘗試對使用者進(jìn)行身份驗(yàn)證時(shí)激發(fā)
Application_Error 在發(fā)生錯(cuò)誤時(shí)激發(fā)
Application_End 在應(yīng)用程序結(jié)束時(shí)激發(fā)
Session即會(huì)話,是指一個(gè)用戶在一段時(shí)間內(nèi)對某一個(gè)站點(diǎn)的一次訪問。
Session對象在.NET中對應(yīng)HttpSessionState類,表示“會(huì)話狀態(tài)”,可以保存與當(dāng)前用戶會(huì)話相關(guān)的信息。
Session對象用于存儲(chǔ)從一個(gè)用戶開始訪問某個(gè)特定的ASPx的頁面起,到用戶離開為止,特定的用戶會(huì)話所需要的信息。用戶在應(yīng)用程序的頁面切換時(shí),Session對象的變量不會(huì)被清除。對于一個(gè)Web應(yīng)用程序而言,所有用戶訪問到的Application對象的內(nèi)容是完全一樣的;而不同用戶會(huì)話訪問到的Session對象的內(nèi)容則各不相同。Session可以保存變量,該變量只能供一個(gè)用戶使用,也就是說,每一個(gè)網(wǎng)頁瀏覽者都有自己的Session對象變量,即Session對象具有唯一性。
(1)將新的項(xiàng)添加到會(huì)話狀態(tài)中
語法格式為:
Session ("鍵名") = 值
或者
Session.Add( "鍵名" , 值)
(2)按名稱獲取會(huì)話狀態(tài)中的值
語法格式為:
變量 = Session ("鍵名")
或者
變量 = Session.Item("鍵名")
(3)刪除會(huì)話狀態(tài)集合中的項(xiàng)
語法格式為:Session.Remove("鍵名")
(4)清除會(huì)話狀態(tài)中的所有值
語法格式為:Session.RemoveAll()
或者Session.Clear()
(5)取消當(dāng)前會(huì)話
語法格式為:Session.Abandon()
(6)設(shè)置會(huì)話狀態(tài)的超時(shí)期限,以分鐘為單位。
語法格式為:Session.TimeOut = 數(shù)值
Global.asax 文件中有2個(gè)事件應(yīng)用于Session對象
事件名稱 說明
Session_Start 在會(huì)話啟動(dòng)時(shí)激發(fā)
Session_End 在會(huì)話結(jié)束時(shí)激發(fā)
Cookie就是Web服務(wù)器保存在用戶硬盤上的一段文本。Cookie允許一個(gè)Web站點(diǎn)在用戶的電腦上保存信息并且隨后再取回它。信息的片斷以‘鍵/值’對的形式存儲(chǔ)。
Cookie是保存在客戶機(jī)硬盤上的一個(gè)文本文件,可以存儲(chǔ)有關(guān)特定客戶端、會(huì)話或應(yīng)用程序的信息,在.NET中對應(yīng)HttpCookie類。有兩種類型的Cookie:會(huì)話Cookie(Session Cookie)和持久性Cookie。前者是臨時(shí)性的,一旦會(huì)話狀態(tài)結(jié)束它將不復(fù)存在;后者則具有確定的過期日期,在過期之前Cookie在用戶的計(jì)算機(jī)上以文本文件的形式存儲(chǔ)。在服務(wù)器上創(chuàng)建并向客戶端輸出Cookie可以利用Response對象實(shí)現(xiàn)。
Response對象支持一個(gè)名為Cookies的集合,可以將Cookie對象添加到該集合中,從而向客戶端輸出Cookie。 通過Request對象的Cookies集合來訪問Cookie
NET技術(shù):詳解ASP.NET的內(nèi)置對象,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。