私はC#でASP.NET MVC3に取り組んでいます。
Response.Redirect("http://www.google.com");
とはどう違いResponse.Write("REDIRECT=http://www.google.com");
ますか?
私はC#でASP.NET MVC3に取り組んでいます。
Response.Redirect("http://www.google.com");
とはどう違いResponse.Write("REDIRECT=http://www.google.com");
ますか?
違いは、1 つ目は応答をリダイレクト ページに置き換えて実行を終了するのに対し、2 つ目はテキストを応答ストリームに書き込み、残りのページの作成を続行することです。
これにより、正しい完全なHTTPヘッダーが作成されます。
Response.Redirect("http://www.google.com");
HTTPヘッダーのいくつかのパラメーターを設定または変更することができます。
HttpResponse Class
たとえば、HTTPステータスコード404または500を設定するか、場合によっては302をリダイレクト用に設定します。
たとえば、jpgのHTTPMimeタイプを設定します
文字列出力のように、応答で本文に書き込みます
Response.Write("REDIRECT=http://www.google.com");
Response.Redirect()
リダイレクト先の URL とともに HTTP 302 ヘッダーを設定します。
Response.Write("REDIRECT=http://www.google.com");
リダイレクト テキストが Web ページの HTML に追加されるように、その文字列が応答本文に書き込まれます。
問題のメソッドは自明です:)
Response.Redirect("http://www.google.com");
Google のホームページRedirect
に移動する場合は、別のページにリダイレクトされます。
Response.Write("REDIRECT=http://www.google.com");
このWrite
メソッドは、テキストの文字列を Web ページに書き込みます。この場合"REDIRECT=http://www.google.com"
、Web ページにテキストが書き込まれます。
Web プロジェクトでこれら 2 つのメソッドを試してみて、何が起こるかを確認してください。