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

发布于 2025-01-06 03:28:40 字数 221 浏览 0 评论 0原文

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

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

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

In .net (C#) I use this to create a multiple file(name) string.

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

I'm unfamiliar with ASP.Classic VBScript.
Can someone help me with syntax in ASP.Classic VBScript?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

旧梦荧光笔 2025-01-13 03:28:40

也许这就是你想要的?

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

埃里克

Maybe this is what you want?

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

Erik

凉城 2025-01-13 03:28:40

你可以这样做。

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

You could do it like this.

If IsNull(pik) Then
   pik = pik & "filename"
Else
   pik = pik & "~" & "filename"
End If
无敌元气妹 2025-01-13 03:28:40

Rico 的答案就涉及语法而言是正确的,但是经典 ASP 无法将 ~ 字符识别为 Web 应用程序根 - 这是 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

Rico answer is correct as far as syntax is involved, however classic ASP does not recognize the ~ character as the web application root - this is new "feature" of ASP.NET that has no direct equivalent in classic ASP.

One way to get the root is using such function:

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

The above is based on the code found in this question.

Having this, the complete answer will be:

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

Note that in VBScript, only empty database value will return Null all other strings will just be empty, meaning zero length.

In case pic is coming from database, change the code to:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文