我正在使用经典的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
我想念什么?
答案 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