使用经典的asp VBScript创建(文件)字符串

时间:2012-02-16 10:00:04

标签: asp-classic vbscript

在.net(C#)中我使用它来创建一个多文件(名称)字符串。

if (pic == null)
   pic += "filename";
          else
   pic += "~" + "filename";

我不熟悉ASP.Classic VBScript。 有人可以帮我解决ASP.Classic VBScript中的语法吗?

3 个答案:

答案 0 :(得分:4)

也许这就是你想要的?

if pic = "" then
    pic = pic & "filename"
else
    pic = pic & "~" & "filename"
end if

埃里克

答案 1 :(得分:1)

你可以这样做。

If IsNull(pik) Then
   pik = pik & "filename"
Else
   pik = pik & "~" & "filename"
End If

答案 2 :(得分:1)

就语法而言,Rico的答案是正确的,但是经典ASP无法将~字符识别为Web应用程序根目录 - 这是ASP.NET的新“特性”,它在经典中没有直接的等价物ASP。

获得root的一种方法是使用这样的函数:

Function GetApplicationRoot()
    Dim pathinfo, myRegExp
    pathinfo = Request.ServerVariables("PATH_INFO")
    Set myRegExp = New RegExp
    myRegExp.IgnoreCase = True
    myRegExp.Global = True
    myRegExp.Pattern = "^(/\w*/).*" 
    GetApplicationRoot = myRegExp.Replace(pathinfo, "$1")
End Function

以上内容基于this question中的代码。

有了这个,完整的答案将是:

If Len(pic)=0 Then
    pic = "filename"
Else  
    pic = pic & GetApplicationRoot() & "filename"
End If

请注意,在VBScript中,只有空数据库值将返回Null所有其他字符串将为空,表示零长度。

如果来自数据库的pic ,请将代码更改为:

blnNullOrEmpty = False
If IsNull(pic) Then
    blnNullOrEmpty = True
Else  
    If Len(pic)=0 Then
        blnNullOrEmpty = True
    End If
End If

If blnNullOrEmpty Then
    pic = "filename"
Else  
    pic = pic & GetApplicationRoot() & "filename"
End If