【问题标题】:Request.Querystring(variablevalue) possible?Request.Querystring(variablevalue) 可能吗?
【发布时间】:2014-02-23 14:11:53
【问题描述】:

我正在创建一个应用程序,它使用 request.querystring 在页面之间传输变量。但是,目前我正在根据数组在 URL 中动态设置变量名称,并且我想使用(基本上)相同的数组在另一个页面上检索这些值。所以我想出了我认为的简单解决方案:

For Each x In AnswerIDs
    response.write(x)
    ctest = Request.Querystring(x)
    response.write(ctest)
Next

但这似乎不起作用,因为您似乎不能将Request.Querystring() 与变量一起用作参数。有谁知道我该怎么做?

这是查询字符串:

QuizMark.asp?11=1&12=1

在这种情况下,AnswerIDs 由“11”和“12”组成,所以在我的循环中我希望它写成“1”和“1”。

【问题讨论】:

  • 您可以添加您正在使用的查询字符串吗?这可能会让您更深入地了解您的问题。
  • 你试图做的应该工作,但如果不是,只是一个猜测,但由于 Request.QueryString 期望一个字符串作为键尝试: ctest = Request.Querystring(CStr(x ))
  • @John 不,我刚刚测试过,数字可以是键。问题可能在于使用给定示例将是简单的“111121”的令人困惑的显示。

标签: asp-classic request.querystring


【解决方案1】:

您可以像这样遍历查询字符串:

For Each Item in Request.QueryString
    Response.Write Item & ": " & Request.QueryString(Item) & "<br/>"
Next

Item 包含查询字符串参数的名称,使用 Request.Querystring(Item) 检索参数的值。

【讨论】:

    【解决方案2】:

    您的方法只需简单修改即可:

    For Each x In AnswerIDs
        response.write(x)
        ctest = Request.Querystring(CStr(x))
        response.write(ctest)
    Next
    

    如果您的数组可能包含 Null 元素,请将 Cstr(x) 替换为 x &amp; ""

    另一方面,如果您可以确保 AnswerID 的每个元素都有一个值(即既不是 Empty 也不是 Null),那么您可以省略字符串转换。换句话说,问题不在于使用变量调用 Request.Querystring,而在于使用 Empty 或 Null 调用 Request.Querystring。

    【讨论】:

      猜你喜欢
      • 2012-02-10
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多