Asp classic 使用经典asp VBScript创建(文件)字符串
在.net(C#)中,我使用它创建一个多文件(名称)字符串 我不熟悉ASP.Classic VBScript。Asp classic 使用经典asp VBScript创建(文件)字符串,asp-classic,vbscript,Asp Classic,Vbscript,在.net(C#)中,我使用它创建一个多文件(名称)字符串 我不熟悉ASP.Classic VBScript。 有人能帮我学习ASP.Classic VBScript中的语法吗?也许这就是你想要的 if pic = "" then pic = pic & "filename" else pic = pic & "~" & "filename" end if 埃里克也许这就是你想要的 if pic = "" then pic = pic &
有人能帮我学习ASP.Classic VBScript中的语法吗?也许这就是你想要的
if pic = "" then
pic = pic & "filename"
else
pic = pic & "~" & "filename"
end if
埃里克也许这就是你想要的
if pic = "" then
pic = pic & "filename"
else
pic = pic & "~" & "filename"
end if
埃里克你可以这样做
If IsNull(pik) Then
pik = pik & "filename"
Else
pik = pik & "~" & "filename"
End If
你可以这样做
If IsNull(pik) Then
pik = pik & "filename"
Else
pik = pik & "~" & "filename"
End If
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的回答就语法而言是正确的,但是经典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
很抱歉我不确定我是否理解这个问题。你能详细解释一下吗?对不起。我不确定我是否理解这个问题。你能详细解释一下吗?在C#中,一个未赋值的字符串变量是空的。但是,在VBScript中,必须显式分配变量
Null
。这里的pik
变量不太可能是这种情况。在VBScript中,任何未赋值变量的值为空
,该值被视为等于“”和0。所以里科更接近了,太酷了。我也应该检查一下IsEmpty(pik)。我同意Rico的回答更准确@数据库中的AnthonyWJones null值也将是VBNull。在C#中,未分配的字符串变量为null。但是,在VBScript中,必须显式分配变量Null
。这里的pik
变量不太可能是这种情况。在VBScript中,任何未赋值变量的值为空
,该值被视为等于“”和0。所以里科更接近了,太酷了。我也应该检查一下IsEmpty(pik)。我同意Rico的回答更准确@数据库中的AnthonyWJones null值也将是VBNull。我不熟悉.NET中的应用程序根目录,但它与server.mappath(“/”)有什么不同,server.mappath(“/”)将为您提供站点根目录的绝对路径?当您在.NET-~/myfile.aspx中有这样的链接URL时,“~”将被转换到根文件夹,例如,在HTML源代码中,您将看到/myroot/myfile.aspx-在经典ASP中没有这样的内容。我不熟悉.NET中的应用程序根,但它与server.mappath(“/”)有何不同,哪个将为您提供网站根目录的绝对路径?当您在.NET-~/myfile.aspx中有这样的链接URL时,“~”将被转换到根文件夹,例如,在HTML源代码中,您将看到/myroot/myfile.aspx-在经典ASP中没有这样的内容。