ASP中session如何使用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Session 對象
可以使用 Session 對象存儲特定用戶會話所需的信息。這樣,當用戶在應用程序的 Web 頁之間跳轉時,存儲在 Session 對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。
當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web 服務器將自動創建一個 Session 對象。當會話過期或被放棄后,服務器將終止該會話。
Session 對象最常見的一個用法就是存儲用戶的首選項。例如,如果用戶指明不喜歡查看圖形,就可以將該信息存儲在 Session 對象中。有關使用 Session 對象的詳細信息,請參閱“ASP 應用程序”部分的“管理會話”。
注意 會話狀態僅在支持 cookie 的瀏覽器中保留。
語法
Session.collection|property|method
集合
Contents 包含已用腳本命令添加到會話中的項目。
StaticObjects 包含通過 <OBJECT> 標記創建的并給定了會話作用域的對象。
屬性
CodePage 將用于符號映射的代碼頁。
LCID 現場標識。
SessionID 返回用戶的會話驗證。
Timeout 應用程序會話狀態的超時時限,以分鐘為單位。
方法
Abandon 該方法破壞 Session 對象并釋放其資源。
事件
global.asa 文件中聲明下列事件的腳本。
Session_OnEnd
Session_OnStart
有關以上事件及 global.asa 文件的詳細信息, 請參閱 Global.asa 參考.
注釋
您可以在 Session 對象中存儲值。存儲在 Session 對象中的信息在會話及會話作用域內有效。下列腳本演示兩種類型的變量的存儲方式。
<%
Session("username") = "Janine"
Session("age") = 24
%>但是,如果您將對象存儲在 Session對象中,而且您使用 VBScript 作為主腳本語言。則必須使用關鍵字 Set。如下列腳本所示。
<% Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %>然后,您就可以在后面的 Web 頁上調用 MyComponent.class1 揭示的方法和屬性,其調用方法如下:
<% Session("Obj1").MyMethod %>也可以通過展開該對象的本地副本并使用下列腳本來調用:
<%
Set MyLocalObj1 = Session("Obj1")
MyLocalObj1.MyObjMethod
%>創建有會話作用域的對象的另一種方法是在 global.asa 文件中使用 <OBJECT> 標記。
但是不能在 Session 對象中存儲內建對象。例如,下面每一行都將返回錯誤。
<%
Set Session("var1") = Session
Set Session("var2") = Request
Set Session("var3") = Response
Set Session("var4") = Server
Set Session("var5") = Application
%>在將對象存儲到 Session 對象之前,必須了解它使用的是哪一種線程模型。只有那些標記為“Both”的對象才能存儲在沒有鎖定單線程會話的 Session 對象中。詳細信息, 請參閱“創建 ASP 組件”中的“選擇線程模型”。
若您將一個數組存儲在 Session對象中,請不要直接更改存儲在數組中的元素。例如,下列的腳本無法運行。
<% Session("StoredArray")(3) = "new value" %>
這是因為 Session對象是作為集合被實現的。數組元素 StoredArray(3) 未獲得新的賦值。而此值將包含在 Application 對象集合中,并將覆蓋此位置以前存儲的任何信息。
我們極力建議您在將數組存儲在 Session對象中時,在檢索或改變數組中的對象前獲取數組的一個副本。在對數組操作時,您應再將數組全部存儲在 Session 對象中,這樣您所做的任何改動將被存儲下來。下列的腳本對此進行演示。
---file1.asp---
<%
'Creating and initializing the array
Dim MyArray()
Redim MyArray(5)
MyArray(0) = "hello"
MyArray(1) = "some other
string
"
'Storing the array in the Session object
Session("StoredArray") = MyArray
Response.Re
dir
ect("file2.asp")
%>
---file2.asp---
<%
'Retrieving the array from the Session Object
'and mod
if
ying its second element
LocalArray = Session("StoredArray")
LocalArray(1) = " there"
'
print
ing out the string "hello there"
Response.Write(LocalArray(0)&LocalArray(1))
'Re-storing the array in the Session object
'This overwrites the values in StoredArray with the new values
Session("StoredArray") = LocalArray
%>相關解答:
A頁面需輸入正確的用戶名和密碼后,
加條語句:session("isLogin")=true
在B頁面前判斷:
if session("isLogin")=false then
response.write "未登錄"
response.en
end if這樣就可以了
登陸后設置:
session("user")=用戶名
在B頁面輸入:
if session("user")="" then
Response.write("<script>alert('請登陸!');window.history.go(-1);</scritp>")
end if看完上述內容,你們掌握ASP中session如何使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。