Vbscript 简单的If-Then语句没有按照我认为应该的方式工作
我对VB比较陌生,我被迫使用在线编码方法。我想检查变量的NOTNULL值,然后显示一个图像。这就是我想要它做的。这里有几个我尝试过的例子Vbscript 简单的If-Then语句没有按照我认为应该的方式工作,vbscript,asp-classic,Vbscript,Asp Classic,我对VB比较陌生,我被迫使用在线编码方法。我想检查变量的NOTNULL值,然后显示一个图像。这就是我想要它做的。这里有几个我尝试过的例子 <% if ACTL is not nothing then %> <img id="ACTLLogo" src="<%= ACTL %>" /> <% else end if %> " /> 或者这个: <% if ACTL is nothing then %> <
<% 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 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语句进行在线编码。有什么想法吗?在ASP Classic中,您可以使用
您也可以这样编写代码,这样就不需要关闭asp标记
<%
if ACTL <>"" then
response.write("<img id=""ACTLLogo"" src="""&ACTL&""" />")
end if
%>
可能更易于阅读和维护。要检查变量是否为空,请使用
IsNull
函数:
If Not IsNull(ACTL) Then
Response.Write "<img src='" & ACTL & "' id='ACTLLogo'>"
End If
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(…)
到处都是。这是ASP.NET还是ASP Classic?好的,删除VB.NET标签,然后是的,这完全有效。谢谢。我会尽快将其标记为答案。谢谢。我已经添加了一些改进的代码,作为打开和关闭@Joseph的替代方法。请小心,因为它不会检测到null或什么都没有。拉da例如,数据库中的ta可能返回空值。要解决此问题,请尝试使用一段快速且肮脏的代码,如:如果ACTL&“”,则
@Lima:您错过了各种结束符,例如响应中的语音标记和括号。写入
行。在(Response.Write)中为属性使用单个语音标记马克·厄普尼斯!喜欢看快的和脏的!+1