You may want to try this way to trap 2 dimensional array / sessions as well
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Sessions </TITLE>
</HEAD>
<BODY>
<%
Dim strSessionObjectName
Dim intLoop 'x in the arrays
Dim intLoop2 'y in the two dimensional array(y,x)
Dim strStaticObjectName 'these are objects that cannot be shown:NOTE: this should NEVER show anything
'if you want your ASP application to be scalable...storing objects in a session
'object is a NO-NO...
'Use a For Each ... Next to loop through the entire contents collection
For Each strSessionObjectName in Session.Contents
'Is this session variable an array?
If IsArray(Session(strSessionObjectName)) then
'If it is an arra y, loop through each element one at a time
'Name of array
Response.Write "<B>" & strSessionObjectName & "</B> (array)<br>"
'Loop through one dimensional array...
On Error Resume Next 'just to handle the array dimensions (two vs one) - you could add code for other dimensions...
For intLoop = LBound(Session(strSessionObjectName)) to UBound(Session(strSessionObjectName))
Response.Write "<b>" & strSessionObjectName & "(" & intLoop & "

</b> = " & _
Session(strSessionObjectName)(intLoop) & "<BR><BR>"
Next
intLoop = 0
'Loop through two dimensional array...
For intLoop = LBound(Session(strSessionObjectName), 2) to UBound(Session(strSessionObjectName), 2)
For intLoop2 = LBound(Session(strSessionObjectName), 1) to UBound(Session(strSessionObjectName), 1)
Response.Write "<b>" & strSessionObjectName & "(" & intLoop2 & "," & intLoop & "

</b> = " & _
Session(strSessionObjectName)(intLoop2, intLoop) & "<BR><BR>"
Next
Next
Else
'List object names and list session name/value pairs
If IsObject(Session(strSessionObjectName)) Then
Response.Write "<b>" & strSessionObjectName & " is an object..."
Else
Response.Write "<b>" & strSessionObjectName & "</b> = " & Session.Contents(strSessionObjectName) & _
"<BR><BR>"
End If
End If
Next
'Static Objects
For Each strStaticObjectName in Session.StaticObjects
Response.Write "<B>" & strStaticObjectName & "</B> (static object)<BR><BR>"
Next
%>
</BODY>
</HTML>