1. ホーム
  2. asp.net-mvc

[解決済み] POST動詞を使用してページにリダイレクトするにはどうすればよいですか?

2022-05-09 15:07:07

質問

電話するとき RedirectToAction は、コントローラ内で自動的に HTTP GET を使用してリダイレクトします。 HTTP POSTを使用するように明示的に指示するにはどうすればよいですか?

GETとPOSTの両方のリクエストを受け付けるアクションがあり、それを RedirectToAction を使用してPOSTし、いくつかの値を送信します。

こんな感じで。

this.RedirectToAction(
    "actionname",
    new RouteValueDictionary(new { someValue = 2, anotherValue = "text" })
);

が欲しい。 someValueanotherValue の値を GET ではなく、HTTP POST を使用して送信するようにしました。誰かこの方法を知っていますか?

解決方法は?

HTTPはPOSTを使ったページへのリダイレクトをサポートしていません。 どこかにリダイレクトすると、HTTPの"Location"ヘッダーがブラウザに行き先を伝え、ブラウザはそのページに対してGETリクエストを行います。 おそらく、POSTリクエストだけでなくGETリクエストも受け付けるようにページのコードを書かなければならないでしょう。