次の方法で共有


QueryString

QueryString コレクションは、HTTP クエリ文字列内の変数の値を取得します。HTTP クエリ文字列は、疑問符 (?) の後の値で指定されています。クエリ文字列を生成するプロセスにはさまざまなものがあります。たとえば、次のようなアンカ タグがあるとします。

<A HREF= "example?string=this is a sample">string sample</A>

この場合、"this is a sample" という値を持つ string という名前の変数が生成されます。クエリ文字列は、フォームを送信したり、ユーザーがブラウザのアドレス ボックスにクエリを入力した場合にも生成されます。

構文

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 の値を指定します。パラメータ index には 1 ~ Request.QueryString( variable ).Count までの値を指定できます。index の値を指定せずに複数の QueryString 変数の 1 つを参照した場合、データはカンマで区切られた文字列として返されます。

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

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

  https://localhost/script/directory/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 つのメンバが格納されます。ここで次のようなスクリプトを使います。

  Welcome,  <%= Request.QueryString("name") %>.
Your age is  <%= Request.QueryString("age") %>.
 

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

  Welcome, Fred. Your age is 22.
 

次のようなスクリプトを使用したとします。

  The unparsed query string is:  <%=Request.QueryString %>
 

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

  The unparsed query string is: name=fred&age=22
 
対象

Request オブジェクト

関連項目

ClientCertificateCookiesFormServerVariables