あるコントローラーアクションから別のコントローラーアクションへのポスト(リダイレクトではない)

StackOverflow https://stackoverflow.com/questions/419840

  •  05-07-2019
  •  | 
  •  

質問

特定の条件を満たす場合、別のアクションに転送する必要があるアクションがありますが、次のアクションにパスするときにフォームデータを保持できません。

受信アクションはFormCollectionを受け入れ、送信アクションは

現在、RedirectToAction(" action"、" controller&quot ;, form)を返しています。そして、リダイレクトする前にフォーム変数にキーがあると判断できます(form.HasKeys()= true)。

ただし、アクションがヒットすると、FormCollectionは空になります(form.HasKeys()= false)。

アイデアはありますか?欠落している 'PostToAction'メソッドはありますか?

FYI:ASP.NET MVC Betaを使用しています。どうもありがとう!

編集:この問題がある人は、 PRGパターン。これは、私が探していたものの実際の用語であり、きれいなURLも有効にします。

役に立ちましたか?

解決

RedirectToActionが呼び出されると、HTTPリダイレクトが行われ、他のアクションURLへのGETが行われます。 ewalsheが提案する別のコントローラーのコードを再利用する必要がある場合は、共通をBaseControllerまたはビジネスサービスに移動し、両方のアクションを委任します。

このリンクが役立つ場合があります:

他のヒント

2つのコントローラーをリファクタリングし、共通のコードをヘルパーまたは共通の基本クラスに入れます。そうすれば、2つのコントローラーのアクションが共通のコードに委任できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top