If you store an array in a Session object, you should not attempt to alter the elements of the stored array directly. For example, the following script will not work:
〈% Session(“StoredArray“)(3) = “new value“ %〉
This is because the Session object is implemented as a collection. The array element StoredArray(3) does not receive the new value. Instead, the value is indexed into the collection, overwriting any information stored at that location.
It is strongly recommended that if you store an array in the Session object, you retrieve a copy of the array before retrieving or changing any of the elements of the array. When you are done with the array, you should store the array in the Session object again so that any changes you made are saved. This is demonstrated in the following example:
---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.Redirect(“file2.asp“)
%〉
---file2.asp---
〈%
’Retrieving the array from the Session Object
’and modifying its second element.
LocalArray = Session(“StoredArray“)
LocalArray(1) = “ there“
’Printing 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
%〉
////////////////////////////////////////////////////////////////////////////////////
一个用application存数组的例子
2001-5-15 动网先锋
If you store an array in an Application object, you should not attempt to alter the elements of the stored array directly. For example, the following script does not work:
〈% Application(“StoredArray“)(3) = “new value“ %〉
This is because the Application object is implemented as a collection. The array element StoredArray(3) does not receive the new value. Instead, the value would be included in the Application object collection, and would overwrite any information that had previously been stored at that location.
It is strongly recommended that if you store an array in the Application object, you retrieve a copy of the array before retrieving or changing any of the elements of the array. When you are done with the array, you should store the array in the Application object again, so that any changes you made are saved. This is demonstrated in the following scripts.
---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 Application object.
Application.Lock
Application(“StoredArray“) = MyArray
Application.Unlock
Server.Transfer(“file2.asp“)
%〉
---file2.asp---
〈%
’Retrieving the array from the Application Object
’and modifying its second element.
LocalArray = Application(“StoredArray“)
LocalArray(1) = “ there“
’Printing out the string “hello there.“
Response.Write(LocalArray(0)&LocalArray(1))
’Re-storing the array in the Application object.
’This overwrites the values in StoredArray with the new values.
Application.Lock
Application(“StoredArray“) = LocalArray
Application.Unlock
%〉