5

MVC3 コントローラーの別のアクションからポスト アクションにリダイレクトしたいと考えています。これどうやってするの?

4

2 に答える 2

1

これを行うには、次の 2 つの基本的な方法があります。

  • 呼び出したいアクションを指す URL<form>に設定された を作成します。action

  • クライアントから POST ajax リクエストを行う

アップデート

リダイレクトするには、単純にRedirectToRouteResult. 通常、これは でRedirectToAction利用可能なオーバーロードControllerの 1 つを使用して行われます。

更新 2

ターゲット アクションが POST のみの場合 (それが と呼ばれると仮定しましょうTargetAction)、GET を許可して を実行する新しいアクションを作成できますreturn TargetAction()

AFAIKリダイレクトは次のことを意味するため、純粋なリダイレクトは不可能です。

  • サーバーは、リソースの新しい場所とともに 3xx リダイレクト ステータスを返します。
  • ブラウザは、前の手順で示された場所に対して GET リクエストを実行します。

ただし、可能であればこの状況を回避するために、コントローラー アクションの設計を再考することをお勧めします。

于 2012-12-23T08:56:03.253 に答える
0

なんで?http 動詞の定義により、post アクションにリダイレクトすることはできません。

リダイレクトを使用するのではなく、他のアクション メソッドを直接呼び出してみませんか?

于 2012-12-23T09:27:02.000 に答える