1
ブラウザがGET動詞の代わりにPOSTを発行するように、別のコントローラのアクションメソッドにリダイレクトしたいと思います。asp.net mvcでPOST動詞を発行するリダイレクトを行うことはできますか?
これは可能ですか?
ブラウザがGET動詞の代わりにPOSTを発行するように、別のコントローラのアクションメソッドにリダイレクトしたいと思います。asp.net mvcでPOST動詞を発行するリダイレクトを行うことはできますか?
これは可能ですか?
HTTP用語の「リダイレクト」の性質は、ブラウザが特定のURLに対してHTTP GETを実行するための指示です。
したがって、HTTP用語では、これは不可能です。
しかし :)
代わりRedirectToAction("ActionMethod", "Controller", new { param = value })
を行うので、あなたがそうのように、ActionMethod
は[HttpPost]
とセットアップであると仮定すると、HTTP POST本体にキー/値のペアとしてvalue
を渡すreturn View("ActionMethod", value)
を行うことができます:
[HttpPost]
public ActionResult ActionMethod(string param)
{
}
ただし、リダイレクトは実行されません。これは、ASP.NET Webフォームのクロスページポストバックに相当します。