我正在研究一些经典的ASP函数。
在一个wsc文件中设置会话就像这样。
Session("ordertype") = "morning"
然后在另一个wsc文件中我检查是否存在这样的。
If Session("ordertype") Is Nothing Then
' Do stuff here
End if
但每次检查会话是否存在时,应用程序就会停止。
我做错了什么?
答案 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。