首頁 >後端開發 >C#.Net教程 >ASP session簡單範例

ASP session簡單範例

Y2J
Y2J原創
2017-05-18 11:40:381690瀏覽

Session 物件
可以使用 Session 物件儲存特定使用者會話所需的資訊。這樣,當使用者在應用程式的 Web 頁面之間跳轉時,儲存在 Session 物件中的變數將不會遺失,而是在整個使用者會話中一直存在下去。
當使用者要求來自應用程式的 Web 頁面時,如果該使用者還沒有會話,則 Web 伺服器將自動建立 Session 物件。當會話過期或被放棄後,伺服器將終止該會話。
Session 物件最常見的一個用法就是儲存使用者的首選項。例如,如果使用者指明不喜歡查看圖形,就可以將該資訊儲存在 Session 物件中。有關使用 Session 物件的詳細信息,請參閱「ASP 應用程式」部分的「管理會話」。
注意 會話狀態僅在支援 cookie# 的瀏覽器中保留。
語法

Session.collection|property|method

集合
Contents 包含已使用腳本指令新增至會話中的項目。
StaticObjects 包含透過 7a4d48e0cef2cd71d96cba7e2b26153a 標記所建立的並給定了會話作用域的物件。

屬性
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 檔案中使用7a4d48e0cef2cd71d96cba7e2b26153a 標記。
但是不能在 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物件中,請不要直接變更儲存在陣列中的元素。例如,下列的腳本無法運作。
1751e3f72d4c82754921cb8852945515
這是因為 Session物件是作為集合被實現的。陣列元素 StoredArray(3) 未獲得新的賦值。而此值將包含在 Application 物件集合中,並將覆蓋此位置先前儲存的任何資訊。
我們極力建議您在將陣列儲存在 Session物件中時,在檢索或改變陣列中的物件前取得陣列的副本。在對陣列操作時,您應再將陣列全部儲存在 Session 物件中,以便您所做的任何變更將會儲存下來。下列的腳本對此進行示範。
---file1.asp---

<% 
&#39;Creating and initializing the array 
Dim MyArray() 
Redim MyArray(5) 
MyArray(0) = "hello" 
MyArray(1) = "some other 
string
"
&#39;Storing the array in the Session object 
Session("StoredArray") = MyArray
Response.Re
dir
ect("file2.asp") 
%>
---file2.asp--- 
<% 
&#39;Retrieving the array from the Session Object 
&#39;and mod
if
ying its second element 
LocalArray = Session("StoredArray") 
LocalArray(1) = " there"
&#39;
print
ing out the string "hello there" 
Response.Write(LocalArray(0)&LocalArray(1))
&#39;Re-storing the array in the Session object 
&#39;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(&#39;请登陆!&#39;);window.history.go(-1);</scritp>") 
end if

【相關推薦】

1. ASP免費影片教學

2. 關於ASP中session的詳細介紹

3. 教你解決ASP session遺失的方法

4. 介紹ASP中Session物件的三種方法

5. 詳解ASP中Session的使用技巧

以上是ASP session簡單範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn