Asp classic 请求对请求。QueryString

Asp classic 请求对请求。QueryString,asp-classic,vbscript,Asp Classic,Vbscript,在VBScript中,这两者之间的区别是什么: Request("startDate") Request.QueryString["startDate"] 而请求(“startDate”)记录在哪里?我在这里看不到这种用法: 请参见 据我所知,当您单独使用Request时,它将返回Request集合中的第一个匹配项。在所附的解决方案中有很好的解释。ASP classic中请求对象的官方文档如下: 引用该问题的相关部分: 可以通过调用请求(变量)直接访问所有变量 没有集合名称。在这种情况下,W

在VBScript中,这两者之间的区别是什么:

Request("startDate")

Request.QueryString["startDate"]
请求(“startDate”)
记录在哪里?我在这里看不到这种用法:

请参见


据我所知,当您单独使用Request时,它将返回Request集合中的第一个匹配项。在所附的解决方案中有很好的解释。

ASP classic中
请求
对象的官方文档如下:

引用该问题的相关部分:

可以通过调用请求(变量)直接访问所有变量 没有集合名称。在这种情况下,Web服务器搜索 按以下顺序收集:

  • 质询
  • 形式
  • 饼干
  • 客户证书
  • 服务器变量
如果在多个集合中存在同名变量, 请求对象返回该对象的第一个实例 遭遇战


编辑:AnthonyWJones对这个问题做了很好的评论:避免使用
请求(“name”)
语法。事实上,上面的文档链接中提到了这一点:

我们强烈建议,当提及 集合不能使用全名。例如,而不是 Request(“AUTH\u USER”)使用Request.ServerVariables(“AUTH\u USER”)。这 允许服务器更快地定位项目


很抱歉,我想问一下这个问题,但鉴于对使用请求(“param”)的警告,我不得不加上我的两分钱。在这种特殊情况下,使用Request(“param”)而不是Request.QueryString(“param”)是一个很好的理由:它允许您编写代码,将参数作为查询字符串的一部分或通过表单提交时接受参数。我经常遇到这样的情况,那不仅是方便的,而且是可取的

您的问题已得到回答,但尚未提供适当的建议。也就是说:不要使用
请求(“名称”)
。始终显式使用所需的集合。为什么微软会把这个“捷径”包括进来,我不明白,它只会导致混乱、易懂和不确定,哦,还有像这样的问题。可能是重复的Dup!你说得很好,但这真的应该是一个评论,而不是一个答案。