我对VB比较新,我被迫使用在线编码方法。我想检查变量的非空值,然后显示图像。这就是我想要它做的一切。以下是我尝试过的几个例子。
<% if ACTL is not nothing then %>
<img id="ACTLLogo" src="<%= ACTL %>" />
<% else end if %>
或者这个:
<% if ACTL is nothing then %>
<% else %>
<img id="ACTLLogo" src="<%= ACTL %>
<% end if %>
或者这个:
<% if String.IsNullOrEmpty(ACTL) then %>
<% else %>
<img id="ACTLLogo" src="<%= ACTL %>
<% end if %>
当我只做没有if语句的部分时,标识显示正常,所以我想我不知道如何在ASP Classic中进行在线编码IF语句。有什么想法吗?
答案 0 :(得分:2)
要检查变量是否为NULL,请使用IsNull
函数:
If Not IsNull(ACTL) Then
Response.Write "<img src='" & ACTL & "' id='ACTLLogo'>"
End If
您还可以使用,检查变量是否为EMPTY(例如,如果您执行Request.Form("fld")
并且表单没有名为fld
的字段)猜对了,IsEmpty
功能:
If IsEmpty(Request.Form("fld")) Then
Response.Write "<p class='msg'>No such field!</p>"
End If
如果您关心的是变量是否具有值,任何值,那么您可以进行快速而脏的字符串转换:
If ACTL & "" <> "" Then
...
End If
后一个技巧对于避免在变量意外为NULL时可以获得的类型不匹配错误非常有用,而无需在整个地方添加If Not IsNull(...)
。
答案 1 :(得分:-1)
在ASP Classic中,您可以使用<% if ACTL <>"" %>
您也可以编写这样的代码,这样就无需关闭asp标记。
<%
if ACTL <>"" then
response.write("<img id=""ACTLLogo"" src="""&ACTL&""" />")
end if
%>
可能更容易阅读和维护。