在php中我正在使用这个
'if(!f || !f2)
现在我正在将此代码转换为ASP
If Not f OR Not f2 Then
但它给我一个错误: -
Error Type:
Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method
我现在可以做什么,我是ASP的新手
答案 0 :(得分:2)
因为f
和f2
是对象,我认为ASP假设它们具有您尝试在其中测试的默认属性
If Not f OR Not f2 Then
这就是您收到该错误消息的原因(例如,如果默认属性为Name
,您实际上是在测试If Not f.Name OR Not f2.Name Then
)。
您可能想要做的是测试它们是否是无效对象,您可以通过
进行If (f Is Nothing) OR (f2 Is Nothing) Then
答案 1 :(得分:1)
看起来你真正需要的是检查这些文件是否存在 - 经典ASP的逻辑与PHP不同。
所以请尝试使用此代码:
Dim fp1, f, f2
Dim vid, vkey
Dim enc, enc1, enc2
set fp1 = Server.CreateObject("Scripting.FileSystemObject")
If fp1.FileExists(vid_file) And fp1.FileExists(vkey_file) Then
set f = fp1.OpenTextFile(vid_file, 1, true)
set f2=fp1.OpenTextFile(vkey_file, 1, true)
vid = Trim(f.ReadLine)
vkey = Trim(f2.ReadLine)
f.Close
f2.Close
Set f = Nothing
Set f2 = Nothing
enc1 = hex_sha1(vid)
enc2 = hex_sha1(vkey)
enc = enc1 & enc2
Else
Response.Write "Vendor authentication failed."
End If
答案 2 :(得分:0)