经典ASP - 使用会话数据停止应用程序

时间:2014-09-11 07:22:04

标签: session asp-classic

我正在研究一些经典的ASP函数。

在一个wsc文件中设置会话就像这样。

Session("ordertype") = "morning"

然后在另一个wsc文件中我检查是否存在这样的。

If Session("ordertype") Is Nothing Then
    ' Do stuff here
End if

但每次检查会话是否存在时,应用程序就会停止。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

Is运算符有效,但不在您尝试使用它的上下文中。

  

来自VbScript参考

     
    

比较两个对象引用变量。

         
result = object1 Is object2
  

如果您使用Set命令设置对象引用,则可以使用此类比较。

在这种情况下,尽管您的Session("ordertype")包含的字符串不是对象引用类型,但请使用简单的Len()检查来检查是否已分配字符串。为了避免使用Nulls

'Check Length of Session value avoid Null by concatenating empty string.
If Len(Session("ordertype") & "") > 0 Then
  'Do Stuff here
End If
  

替代方法

     

您还可以使用VarType(Session("ordertype"))首先检查您的会话变量类型,以避免出现@ZeeTee建议的Null。