Создать (файл) строку с классическим asp VBScript - PullRequest
1 голос
/ 16 февраля 2012

В .net (C #) я использую это для создания строки из нескольких файлов (имя).

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

Я незнаком с ASP.Classic VBScript. Может кто-нибудь помочь мне с синтаксисом в ASP.Classic VBScript?

Ответы [ 3 ]

4 голосов
/ 16 февраля 2012

Может быть это то, что вы хотите?

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

Эрик

1 голос
/ 19 февраля 2012

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
1 голос
/ 16 февраля 2012

Вы можете сделать это так.

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