あるコントローラーアクションから別のコントローラーアクションへのポスト(リダイレクトではない)
-
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つのコントローラーのアクションが共通のコードに委任できます。
所属していません StackOverflow