strID
、 、strName
などのパラメーターとして渡す必要がある 3 つの値がありますstrDate
。
これら 3 つのパラメーターを の別のページにリダイレクトしたいのResponse.Redirect()
ですが、正しいクエリ文字列を教えてもらえますか?
strID
、 、strName
などのパラメーターとして渡す必要がある 3 つの値がありますstrDate
。
これら 3 つのパラメーターを の別のページにリダイレクトしたいのResponse.Redirect()
ですが、正しいクエリ文字列を教えてもらえますか?
(以下は、ウィキペディアのエントリのリンクされたセクションのテキストです。)
クエリ文字列を含む一般的な URL は次のとおりです。
http://server/path/program?query_string
サーバーがそのようなページの要求を受け取ると、プログラムを実行し (そうするように構成されている場合)、変更されていない query_string をプログラムに渡します。疑問符は区切り記号として使用され、クエリ文字列の一部ではありません。
Web ページ内のリンクには、クエリ文字列を含む URL が含まれている場合がありますが、HTML では、Web ブラウザがクエリ文字列を生成できる 3 つの方法が定義されています。
クエリ文字列の主な用途は、Web フォームとも呼ばれる HTML フォームのコンテンツを含めることです。具体的には、フィールド field1、field2、field3 を含むフォームが送信されると、フィールドの内容は次のようにクエリ文字列としてエンコードされます。
field1=value1&field2=value2&field3=value3...
field1=value1&field1=value2&field1=value3...
フォームの各フィールドについて、クエリ文字列にはフィールド=値のペアが含まれています。Web フォームには、ユーザーには表示されないフィールドが含まれる場合があります。これらのフィールドは、フォームが送信されるときにクエリ文字列に含まれます
この規則は W3C 勧告です。W3C は、すべての Web サーバーがアンパサンド セパレータに加えてセミコロン セパレータをサポートすることを推奨しています[6]。これにより、HTML ドキュメント内の URL で application/x-www-form-urlencoded クエリ文字列をエンティティ エスケープ アンパサンドなしで使用できるようになります。
技術的には、フォーム送信メソッドが GET の場合、フォーム コンテンツはクエリ文字列としてのみエンコードされます。送信方法が POST の場合、デフォルトで同じエンコーディングが使用されますが、結果はクエリ文字列として送信されません。つまり、フォームのアクション URL に追加されません。代わりに、文字列は HTTP 要求の本文として送信されます。
Query String: ?strID=XXXX&strName=yyyy&strDate=zzzzz
リダイレクトする前に:
string queryString = Request.QueryString.ToString();
Response.Redirect("page.aspx?"+queryString);
このようにしてみてください。うまくいくはずです
Response.Redirect(String.Format("yourpage.aspx?strId={0}&strName={1}&strDate{2}", Server.UrlEncode(strId), Server.UrlEncode(strName),Server.UrlEncode(strDate)));
~mypage.aspx?strID=x&strName=y&strDate=z
これは、次を使用して実行できます。
Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");