1. ホーム
  2. asp.net

[解決済み] クエリ文字列で複数のパラメータを渡す方法

2022-12-03 13:14:39

質問

3つの値を持っていて、それをパラメータとして渡す必要があります。 strID , strNamestrDate .

これらの3つのパラメータを別のページにリダイレクトさせるために Response.Redirect() .誰か正しいクエリ文字列を提供することができますか?

どのように解決するのですか?

クエリ文字列

(以下はWikipediaのリンク先の文章です。)

構造

クエリ文字列を含む典型的なURLは以下の通りです。

http://server/path/program?query_string

サーバーはこのようなページへのリクエストを受け取ると、(そうするように設定されていれば)プログラムを実行し、query_stringを変更せずにプログラムに渡します。クエスチョンマークはセパレータとして使用され、クエリ文字列の一部ではありません。

Web ページ内のリンクは、クエリ文字列を含む URL を持つことができますが、HTML では、Web ブラウザがクエリ文字列を生成できる 3 つの方法を定義しています。

  • ... 要素を介した Web フォーム
  • サーバーサイドのイメージマップを、コンストラクションを持つ要素の ismap 属性で指定します。
  • 現在では非推奨となっている要素を用いたインデックス付き検索

ウェブフォーム

クエリ文字列の主な用途は、ウェブフォームとして知られる HTML フォームの内容を格納することです。具体的には、field1, field2, field3というフィールドを含むフォームが送信されると、フィールドの内容は以下のようにクエリ文字列としてエンコードされます。

field1=value1&field2=value2&field3=value3...

  • クエリ文字列は、一連のフィールドと値のペアで構成されています。
  • 各ペア内では、フィールド名と値は等号で区切られます。値が空文字列の場合、等号を省略することができる。
  • 一連のペアは、アンパサンド、'&'(または、HTMLに埋め込まれ、...によって生成されないURLのためのセミコロン、';')によって区切られます。 決定的な標準はありませんが、ほとんどの Web フレームワークでは、1 つのフィールドに複数の値を関連付けることができます。

field1=value1&field1=value2&field1=value3...

フォームの各フィールドに対して、クエリ文字列はfield=valueのペアを含んでいます。Web フォームには、ユーザーには見えないフィールドが含まれることがあります。これらのフィールドは、フォームが送信されたときにクエリ文字列に含まれます。

この規約は W3C の勧告です。W3C では、HTML 文書内の URL で、アンパサンドをエスケープすることなく application/x-www-form-urlencoded のクエリ文字列を許可するために、すべての Web サーバーがアンパサンドセパレータに加えてセミコロンセパレータもサポートすることを推奨しています[6]。

技術的には、フォームの内容は、フォームの送信メソッドが GET のときにのみクエリ文字列としてエンコードされます。投稿方法が POST の場合も同じエンコーディングがデフォルトで使用されますが、結果はクエリ文字列としては送信されず、つまり、フォームのアクション URL に追加されるわけではありません。むしろ、文字列はHTTPリクエストのボディとして送信されます。