QueryString

QueryString コレクションは、HTTP のクエリー文字列内の各変数の値、つまり、HTTP 要求の中の疑問符 (?) の後にあるコード値を取得します。たとえば、GET メソッドによるフォームから送られた値を解析します。

構文

Request.QueryString(variable)[(index)|.Count]

パラメータ

variable

HTTP クエリー文字列内にある、取得する変数の名前を指定します。

index

variable の複数の値のうちの 1 つを取得できるようにするための省略可能なパラメータです。1 から Request.QueryString(variable).Count までの整数値を指定できます。

解説

QueryString コレクションは、ServerVariables コレクション内の変数 QUERY_STRING が解析されたものであり、QUERY_STRING の各変数を名前で参照することができます。Request.QueryString(parameter) の値は、QUERY_STRING に出現するすべての parameter の値の配列になります。パラメータの値の数は Request.QueryString(parameter).Count を呼び出して調べることができます。変数に関連付けられているデータ セットが複数でない場合は、個数は 1 になります。変数が見つからない場合には、個数は 0 になります。

複数のデータ セットのうちの 1 つにある QueryString 変数を参照するには、値をインデックスで指定します。パラメータ index には 1 から Request.QueryString(variable).Count までの値を指定できます。index を指定せずに複数の QueryString 変数の 1 つを参照した場合には、データはカンマで区切られた文字列として返されます。

Request.QueryString でパラメータを使うと、サーバーはその要求で送られたパラメータを解析して、指定されたデータを返します。アプリケーションで未解析の QueryString データが必要な場合は、パラメータを指定せずに Request.QueryString を呼び出すことにより取得できます。

ループを使うとクエリー文字列内のすべてのデータ値を解析できます。たとえば、次のような要求が送られたとします。

http://NAMES.ASP?Q=Fred&Q=Sally
 

そして、Names.asp に次のスクリプトが記述されているとします。

---NAMES.ASP---
<%
  For Each item In Request.QueryString("Q")
    Response.Write item & "<BR>"
  Next
%>
 

すると、Names.asp には次のように表示されます。

Fred
Sally
 

上のスクリプトは、次のように Count を使って記述することも可能です。

<%
  For I = 1 To Request.QueryString("Q").Count	
    Response.Write Request.QueryString("Q")(I) & "<BR>"
  Next
%>
 

次のようなクライアント要求があったとします。

/scripts/directory-lookup.asp?name=fred&age=22
 

QUERY_STRING の値は次のようになります。

name=fred&age=22.
 

QueryString コレクションには、name および age の 2 つのメンバが格納されます。ここで次のようなスクリプトを使います。

<%= Request.QueryString("name") %> さん、ようこそ。
あなたは
<%= Request.QueryString("age") %> 齢ですね。

すると、次の出力が得られます。

Fred さん、ようこそ。あなたは 22 齢ですね。
 

対象

Request オブジェクト

関連項目

ClientCertificateCookies Form ServerVariables


(C) Microsoft Corporation. All rights reserved.