ASP If,Else If仅评估第一个语句

时间:2014-01-21 17:22:26

标签: asp.net if-statement

我对javascript相对称职。我以为asp可能会宽恕,但我会把头发拉过来。

我想确定请求url是否具有特定的查询字符串以运行某些代码。但是,如果确切的字符串不匹配,(我的)ASP似乎失败了:

<% If Request.QueryString("somestring") Then%> target="_blank" <% Else If Not Request.QueryString() Is Nothing Then%> <% End If %>

如果没有正确匹配,使用catch-all也会失败:

<% If Request.QueryString("somestring") Then%> target="_blank" <% Else %> <% End If %>

所以www.example.com?somestring=true工作正常,但是当我删除或更改查询字符串的任何部分时,会抛出错误。

此方法是否需要存在查询字符串?如果没有查询字符串和不匹配的字符串,有没有办法使这个工作?

任何帮助都会令人惊讶。谢谢:))

1 个答案:

答案 0 :(得分:2)

如果target="_blank"查询字符串有值,则假设您要显示somestring,那么这将有效:

<% If Request.QueryString("somestring") IsNot Nothing Then%> target="_blank" <% Else %> <% End If %>

如果您想将查询字符串与特定值进行比较,请说JS

<% If Request.QueryString("somestring") = "JS" Then%> target="_blank" <% Else %> <% End If %>