经典ASP添加查询变量

时间:2019-04-08 16:36:22

标签: asp-classic

我正在使用经典的ASP。我有

<% If question = "where" Then %><!-- OTHER STINGING THINGS -->
<!-- #INCLUDE FILE="sting.asp" -->
<% End If %>

这样我就可以通过www.mysite.com/?question=where到我的网站

我可以添加查询,例如

<% If question = "when" Then %><!-- OTHER STINGING THINGS -->
<!-- #INCLUDE FILE="sting.asp" -->
<% End If %>

但是我似乎无法添加其他查询,例如

<% If answer = "now" Then %><!-- OTHER STINGING THINGS -->
<!-- #INCLUDE FILE="sting.asp" -->
<% End If %>

进入www.mysite.com/?answer=now

我想念什么?

1 个答案:

答案 0 :(得分:1)

我不确定您是否要获取传递的参数或条件包含文件。

如果是第一个,则需要首先获取查询字符串,如下所示:

question = Request.QueryString("question")
answer =  Request.QueryString("answer")
if question = "when" then
    ' do something
end if
if answer = "now" then
    ' do something else
end if

如果要很好地使用条件包含,它们将无法正常工作,请参阅此页面:http://www.4guysfromrolla.com/webtech/022504-1.shtml

  

问题是由IIS Web服务器处理的顺序引起的   ASP页面请求。在任何ASP代码能够执行之前,已包含该文件   跑。这意味着以下代码无法正常工作   会期望的。

<% If I_want_to_include_file_1 = True Then %>
  <!--#include file="includefile1.asp"-->
<% Else %>
  <!--#include file="includefile2.asp"-->
<% End If %>
  

该代码将运行,但无论如何都将包括两个文件。   将两个文件中的代码替换为当前页面之前的   if语句可以选择使用哪一个。当包含文件是   大这会成为性能问题,也可能导致问题   当两个文件定义具有相同名称的函数或变量时。

他们的确为条件包含提供了解决方案,但这并不是直截了当的。我认为您最好检查一下值并重定向到单独的页面?

If question = "when" Then
   Response.Redirect "anotherpage.asp"
end if