Asp.net 如何在经典asp中执行if else语句

Asp.net 如何在经典asp中执行if else语句,asp.net,if-statement,asp-classic,Asp.net,If Statement,Asp Classic,我对经典asp还不熟悉,我正试图弄明白这个简单的if-else语句。 出于某种原因,它只是识别第二个人,而不是尝试第一个人 你知道怎么修理吗?谢谢 这是我的代码: <% Dim GetPath GetPath = request.ServerVariables("URL") & query_string Dim page page = "/products/dowlex/index.htm" if GetPath = page then varrecipient = "

我对经典asp还不熟悉,我正试图弄明白这个简单的if-else语句。 出于某种原因,它只是识别第二个人,而不是尝试第一个人

你知道怎么修理吗?谢谢

这是我的代码:

<%
Dim GetPath
GetPath = request.ServerVariables("URL") & query_string

Dim page
page = "/products/dowlex/index.htm"

if GetPath = page then
    varrecipient = "email1@email.com"
    Response.Write("*Path = " & GetPath)
    Response.Write("Person 1")
else
    varrecipient = "email2@email.com"
    Response.Write("*Path = " & GetPath)
    Response.Write("Person 2")
end if

varFormName = "Contact"
varRHBusinessUnit = "businessname"
varLanguage = "ENGLISH"
varCourtesyResponse = "Y"
varRedirect = "#noredir?formRun=true"
varSubject = "Ask an Expert Form"
%>

我会根据相同的大小写比较这两个字符串

如果UCase(GetPath)=UCase(第页),则


当然,如果查询字符串有一个值,那么第一种情况就永远不会是真的。

我有一些想法

1) 能否使用Response.Write在if语句之前显示“GetPath”中的内容?这可能会帮助你了解出了什么问题


2) 尝试更改变量名。编辑器将“GetPath”设为蓝色,好像它是一个保留字。这可能会把事情搞砸。

语句的格式很好。如果。。。然后。。。其他的结束如果


我会做一个回应。写(“GetPath”)看看你是否回来了,你认为你应该是什么样的人。

对不起,伙计们,我弄乱了一个小代码,这就是它不起作用的原因。 我忘了填写网站的完整路径。谢谢你的帮助和建议

*Path = /plasticpipes/eu/products/dowlex/index.htm
*Page = /products/dowlex/index.htm

只是猜测,但这些变量名看起来可能是保留字。尝试使用奇怪的变量名,而不是GetPath和page。它应该是路径的变量。我以前喜欢[if GetPath=“/products/dowlex/index.htm”,但是“GetPath”是蓝色的,“page”不是。。。所以其中一个可能是保留字。(也许吧。)就像我说的,这只是一个猜测,但这是一个简单的测试!)但即使我以另一种方式使用它,它仍然不起作用。它甚至不比较页面,以确保它没有指定的页面。它会自动转到person2。我已经开始在下面添加我的“评论”作为“答案”,这样,如果人们喜欢,就可以给他们投弃权票。:)这实际上帮助我纠正了我的错误。它不是GetPath,而是page变量。我忘了在它前面添加两个文件夹。太棒了!:)很高兴这有帮助。这实际上帮助我纠正了我的错误。它不是GetPath,而是page变量。我忘了在它前面添加两个文件夹。这是我应该删除的吗?如果是这样的话,我将如何重写它?我不知道您为什么要添加querystring来确定它是否与“/products/dowlex/index.htm”相同。如果您只想查看您是否在index.htm页面上,我将删除查询字符串的concat。然后,您将只检查他们正在查看的当前页面是否为index.htm页面。