Rico-ответ является правильным, если учитывать синтаксис, однако классический ASP не распознает символ ~
в качестве корня веб-приложения - это новая «особенность» ASP.NET, которая не имеет прямого эквивалента в классическом ASP.
Одним из способов получения рута является использование такой функции:
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
Вышеуказанное основано на коде, найденном в этом вопросе .
Имея это, полный ответ будет:
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